* [Buildroot] PACKAGE_USERS does not work
2014-07-11 13:23 ` Jörg Krause
@ 2014-07-11 16:21 ` Johan Oudinet
2014-07-11 17:00 ` Arnout Vandecappelle
` (2 subsequent siblings)
3 siblings, 0 replies; 11+ messages in thread
From: Johan Oudinet @ 2014-07-11 16:21 UTC (permalink / raw)
To: buildroot
Hi J?rg,
On Fri, Jul 11, 2014 at 3:23 PM, J?rg Krause <jkrause@posteo.de> wrote:
> unfortunatly there is no error message. As I mentioned, I can build upmpdcli
> with success. Here is the contents of my package/upmpdcli/upmpdcli.mk:
How do you build it? using make or make upmpdcli?
For example, if I run make (after selecting ejabberd package), I can
see near the end:
>>> Generating root filesystem image rootfs.tar
[...]
printf 'ejabberd -1 ejabberd -1 * - - - ejabberd daemon\n' >>
/path/to/buildroot/output/build/_users_table.txt
[...]
and it does appear on /etc/shadow file:
$ grep ejabberd output/target/etc/shadow
ejabberd:*:::::::
Best,
--
Johan
^ permalink raw reply [flat|nested] 11+ messages in thread* [Buildroot] PACKAGE_USERS does not work
2014-07-11 13:23 ` Jörg Krause
2014-07-11 16:21 ` Johan Oudinet
@ 2014-07-11 17:00 ` Arnout Vandecappelle
2014-07-11 17:28 ` Yann E. MORIN
2014-07-11 17:26 ` Yann E. MORIN
2014-07-11 20:37 ` Yann E. MORIN
3 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2014-07-11 17:00 UTC (permalink / raw)
To: buildroot
On 11/07/14 15:23, J?rg Krause wrote:
> Hi Johan,
>
> unfortunatly there is no error message. As I mentioned, I can build upmpdcli
> with success. Here is the contents of my package/upmpdcli/upmpdcli.mk:
>
> ################################################################################
> #
> # upmpdcli
> #
> ################################################################################
>
> UPMPDCLI_VERSION = 0.7.1
> UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
> UPMPDCLI_LICENSE = GPLv2
> UPMPDCLI_LICENSE_FILES = LICENSE
> UPMPDCLI_INSTALL_STAGING = YES
> UPMPDCLI_INSTALL_TARGET = YES
> UPMPDCLI_AUTORECONF = YES
> UPMPDCLI_CONF_OPT = --prefix=/usr
> UPMPDCLI_DEPENDENCIES = host-pkgconf
> UPMPDCLI_DEPENDENCIES += libupnp
> UPMPDCLI_DEPENDENCIES += libmpdclient
>
> define UPMPDCLI_USERS
> upmpdcli -1 upmpdcli -1 * - - -
> endef
>
> define UPMPDCLI_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
> endef
>
> $(eval $(autotools-package))
>
> I would expect that upmpdcli will be added to shadow, passwd, and group in
> output/target/etc, but it isn't. I think it has something to do with
> PACKAGES_USERS in package/pkg-generic.mk. If i rebuild avahi, I can see that
> make adds the entry of AVAHI_USERS to PACKAGES_USERS, but for my build of
> upmpdcli it doesn't. I also tried another custom package.
Is it possible that you ran 'make upmpdcli' and don't have BR2_PACKAGE_UPMPDCLI
set?
Regards,
Arnout
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] PACKAGE_USERS does not work
2014-07-11 17:00 ` Arnout Vandecappelle
@ 2014-07-11 17:28 ` Yann E. MORIN
2014-07-11 18:12 ` Jörg Krause
0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2014-07-11 17:28 UTC (permalink / raw)
To: buildroot
Arnout, All,
On 2014-07-11 19:00 +0200, Arnout Vandecappelle spake thusly:
> On 11/07/14 15:23, J?rg Krause wrote:
> > unfortunatly there is no error message. As I mentioned, I can build upmpdcli
> > with success. Here is the contents of my package/upmpdcli/upmpdcli.mk:
> >
> > ################################################################################
> > #
> > # upmpdcli
> > #
> > ################################################################################
> >
> > UPMPDCLI_VERSION = 0.7.1
> > UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
> > UPMPDCLI_LICENSE = GPLv2
> > UPMPDCLI_LICENSE_FILES = LICENSE
> > UPMPDCLI_INSTALL_STAGING = YES
> > UPMPDCLI_INSTALL_TARGET = YES
> > UPMPDCLI_AUTORECONF = YES
> > UPMPDCLI_CONF_OPT = --prefix=/usr
> > UPMPDCLI_DEPENDENCIES = host-pkgconf
> > UPMPDCLI_DEPENDENCIES += libupnp
> > UPMPDCLI_DEPENDENCIES += libmpdclient
> >
> > define UPMPDCLI_USERS
> > upmpdcli -1 upmpdcli -1 * - - -
> > endef
> >
> > define UPMPDCLI_INSTALL_INIT_SYSV
> > $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
> > endef
> >
> > $(eval $(autotools-package))
> >
> > I would expect that upmpdcli will be added to shadow, passwd, and group in
> > output/target/etc, but it isn't. I think it has something to do with
> > PACKAGES_USERS in package/pkg-generic.mk. If i rebuild avahi, I can see that
> > make adds the entry of AVAHI_USERS to PACKAGES_USERS, but for my build of
> > upmpdcli it doesn't. I also tried another custom package.
>
>
> Is it possible that you ran 'make upmpdcli' and don't have BR2_PACKAGE_UPMPDCLI
> set?
Yes, that's what I suspect, too; hence the reason I asked J?rg to share
the exact commands he used to do the build.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] PACKAGE_USERS does not work
2014-07-11 17:28 ` Yann E. MORIN
@ 2014-07-11 18:12 ` Jörg Krause
0 siblings, 0 replies; 11+ messages in thread
From: Jörg Krause @ 2014-07-11 18:12 UTC (permalink / raw)
To: buildroot
On 07/11/2014 07:28 PM, Yann E. MORIN wrote:
> Arnout, All,
>
> On 2014-07-11 19:00 +0200, Arnout Vandecappelle spake thusly:
>> On 11/07/14 15:23, J?rg Krause wrote:
>>> unfortunatly there is no error message. As I mentioned, I can build upmpdcli
>>> with success. Here is the contents of my package/upmpdcli/upmpdcli.mk:
>>>
>>> ################################################################################
>>> #
>>> # upmpdcli
>>> #
>>> ################################################################################
>>>
>>> UPMPDCLI_VERSION = 0.7.1
>>> UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
>>> UPMPDCLI_LICENSE = GPLv2
>>> UPMPDCLI_LICENSE_FILES = LICENSE
>>> UPMPDCLI_INSTALL_STAGING = YES
>>> UPMPDCLI_INSTALL_TARGET = YES
>>> UPMPDCLI_AUTORECONF = YES
>>> UPMPDCLI_CONF_OPT = --prefix=/usr
>>> UPMPDCLI_DEPENDENCIES = host-pkgconf
>>> UPMPDCLI_DEPENDENCIES += libupnp
>>> UPMPDCLI_DEPENDENCIES += libmpdclient
>>>
>>> define UPMPDCLI_USERS
>>> upmpdcli -1 upmpdcli -1 * - - -
>>> endef
>>>
>>> define UPMPDCLI_INSTALL_INIT_SYSV
>>> $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
>>> endef
>>>
>>> $(eval $(autotools-package))
>>>
>>> I would expect that upmpdcli will be added to shadow, passwd, and group in
>>> output/target/etc, but it isn't. I think it has something to do with
>>> PACKAGES_USERS in package/pkg-generic.mk. If i rebuild avahi, I can see that
>>> make adds the entry of AVAHI_USERS to PACKAGES_USERS, but for my build of
>>> upmpdcli it doesn't. I also tried another custom package.
>>
>> Is it possible that you ran 'make upmpdcli' and don't have BR2_PACKAGE_UPMPDCLI
>> set?
> Yes, that's what I suspect, too; hence the reason I asked J?rg to share
> the exact commands he used to do the build.
OMG, you're all right! I added the packages to package/Config.in once,
but after some inexperienced handling of git stash and apply they where
missing now.
So to answer your question: I used make upmpdcli-rebuild all.
Thank you all for the help! I will prepare a patch for adding this
packet soon.
Best regards
J?rg Krause
>
> Regards,
> Yann E. MORIN.
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] PACKAGE_USERS does not work
2014-07-11 13:23 ` Jörg Krause
2014-07-11 16:21 ` Johan Oudinet
2014-07-11 17:00 ` Arnout Vandecappelle
@ 2014-07-11 17:26 ` Yann E. MORIN
2014-07-11 20:37 ` Yann E. MORIN
3 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2014-07-11 17:26 UTC (permalink / raw)
To: buildroot
J?rg, All,
On 2014-07-11 15:23 +0200, J?rg Krause spake thusly:
> ################################################################################
> #
> # upmpdcli
> #
> ################################################################################
>
> UPMPDCLI_VERSION = 0.7.1
> UPMPDCLI_SITE = [1]http://www.lesbonscomptes.com/upmpdcli/downloads
> UPMPDCLI_LICENSE = GPLv2
> UPMPDCLI_LICENSE_FILES = LICENSE
> UPMPDCLI_INSTALL_STAGING = YES
> UPMPDCLI_INSTALL_TARGET = YES
> UPMPDCLI_AUTORECONF = YES
> UPMPDCLI_CONF_OPT = --prefix=/usr
> UPMPDCLI_DEPENDENCIES = host-pkgconf
> UPMPDCLI_DEPENDENCIES += libupnp
> UPMPDCLI_DEPENDENCIES += libmpdclient
>
> define UPMPDCLI_USERS
> upmpdcli -1 upmpdcli -1 * - - -
> endef
>
> define UPMPDCLI_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
> endef
>
> $(eval $(autotools-package))
I added this package to my tree here (plus the missing Config.in, of
course), enabled upmpdcli in the menuconfig, and ran 'make'.
And I do have upmpdcli as a user in /etc/passwd:
$ grep upm target/etc/passwd
upmpdcli:x:1001:1001::/:/bin/false
And here is the relevant part of the log:
printf 'toto -1 titi -1 * - - -\n upmpdcli -1 upmpdcli -1 * - - -\n' >>
/home/ymorin/dev/buildroot/br.config/build/rpi/minimal/output/build/_users_table.txt
The 'toto' user is a test user I added to another package, just to
check.
To be noted: users get created only when generating a filesystem.
Can you share the exact commands you used to build?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread* [Buildroot] PACKAGE_USERS does not work
2014-07-11 13:23 ` Jörg Krause
` (2 preceding siblings ...)
2014-07-11 17:26 ` Yann E. MORIN
@ 2014-07-11 20:37 ` Yann E. MORIN
2014-07-14 10:09 ` Jörg Krause
3 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2014-07-11 20:37 UTC (permalink / raw)
To: buildroot
J?rg, All,
You said in another mail that you'd be sending a patch to add this
package. Thanks!
So, here is my preliminary review of the .mk file:
On 2014-07-11 15:23 +0200, J?rg Krause spake thusly:
> ################################################################################
> #
> # upmpdcli
> #
> ################################################################################
>
> UPMPDCLI_VERSION = 0.7.1
> UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
> UPMPDCLI_LICENSE = GPLv2
> UPMPDCLI_LICENSE_FILES = LICENSE
> UPMPDCLI_INSTALL_STAGING = YES
Wh yinstall in staging? As far as I can see, this installs a program,
not a library, right? We install in staging only when the package
installs one (or more) libraries.
> UPMPDCLI_INSTALL_TARGET = YES
Not needed, that's the default.
> UPMPDCLI_AUTORECONF = YES
Why do you autoreconf? It is not normally needed. If it is needed, add a
comment stating why. See the existing packages for hints. ;-)
> UPMPDCLI_CONF_OPT = --prefix=/usr
Nope, that's already taken care of by the autotools-package
infrastructure.
> UPMPDCLI_DEPENDENCIES = host-pkgconf
> UPMPDCLI_DEPENDENCIES += libupnp
> UPMPDCLI_DEPENDENCIES += libmpdclient
Please, put the dependencies on a single. If it does not fit in 80-char,
then use continuation lines, like:
UPMPDCLI_DEPENDENCIES = host-pkgconf libupnp libmpdclient tooloong \
more-depndencies on-this-line
BTW, it also depends on expat.
> define UPMPDCLI_USERS
> upmpdcli -1 upmpdcli -1 * - - -
> endef
Do you really need a specific user for running upmpdcli?
Also, would it need to belong to the audio group (as an additional
group)? (even though it does not directly render audio)
> define UPMPDCLI_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
> endef
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread* [Buildroot] PACKAGE_USERS does not work
2014-07-11 20:37 ` Yann E. MORIN
@ 2014-07-14 10:09 ` Jörg Krause
2014-07-14 10:16 ` Yann E. MORIN
0 siblings, 1 reply; 11+ messages in thread
From: Jörg Krause @ 2014-07-14 10:09 UTC (permalink / raw)
To: buildroot
Hi Yann,
many thanks for your review! Any advice is very welcome!
On 07/11/2014 10:37 PM, Yann E. MORIN wrote:
> J?rg, All,
>
> You said in another mail that you'd be sending a patch to add this
> package. Thanks!
>
> So, here is my preliminary review of the .mk file:
>
> On 2014-07-11 15:23 +0200, J?rg Krause spake thusly:
>> ################################################################################
>> #
>> # upmpdcli
>> #
>> ################################################################################
>>
>> UPMPDCLI_VERSION = 0.7.1
>> UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
>> UPMPDCLI_LICENSE = GPLv2
>> UPMPDCLI_LICENSE_FILES = LICENSE
>> UPMPDCLI_INSTALL_STAGING = YES
> Wh yinstall in staging? As far as I can see, this installs a program,
> not a library, right? We install in staging only when the package
> installs one (or more) libraries.
>
Removed.
>> UPMPDCLI_INSTALL_TARGET = YES
> Not needed, that's the default.
Removed.
>> UPMPDCLI_AUTORECONF = YES
> Why do you autoreconf? It is not normally needed. If it is needed, add a
> comment stating why. See the existing packages for hints. ;-)
Removed, too. Source is not taken from the git repo.
>
>> UPMPDCLI_CONF_OPT = --prefix=/usr
> Nope, that's already taken care of by the autotools-package
> infrastructure.
Removed.
>> UPMPDCLI_DEPENDENCIES = host-pkgconf
>> UPMPDCLI_DEPENDENCIES += libupnp
>> UPMPDCLI_DEPENDENCIES += libmpdclient
> Please, put the dependencies on a single. If it does not fit in 80-char,
> then use continuation lines, like:
>
> UPMPDCLI_DEPENDENCIES = host-pkgconf libupnp libmpdclient tooloong \
> more-depndencies on-this-line
Done.
>
> BTW, it also depends on expat.
I am unsure of the necessary dependencies. The author of the package
stated that it only depends on libupnp and libmpdclient.
I added host-pkgconf because I saw it on other package makefiles. Do I
need it here?
Why do you suggest expat?
>> define UPMPDCLI_USERS
>> upmpdcli -1 upmpdcli -1 * - - -
>> endef
> Do you really need a specific user for running upmpdcli?
>
> Also, would it need to belong to the audio group (as an additional
> group)? (even though it does not directly render audio)
>
>> define UPMPDCLI_INSTALL_INIT_SYSV
>> $(INSTALL) -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/
>> endef
> Regards,
> Yann E. MORIN.
>
Best regards
J?rg Krause
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] PACKAGE_USERS does not work
2014-07-14 10:09 ` Jörg Krause
@ 2014-07-14 10:16 ` Yann E. MORIN
0 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2014-07-14 10:16 UTC (permalink / raw)
To: buildroot
J?rg, All,
On 2014-07-14 12:09 +0200, J?rg Krause spake thusly:
> On 07/11/2014 10:37 PM, Yann E. MORIN wrote:
> >On 2014-07-11 15:23 +0200, J?rg Krause spake thusly:
> >BTW, it also depends on expat.
>
> I am unsure of the necessary dependencies. The author of the package stated
> that it only depends on libupnp and libmpdclient.
>
> I added host-pkgconf because I saw it on other package makefiles. Do I need
> it here?
It is easy to check if a package requires host-pkgconf:
grep PKG_CHECK_MODULES configure.ac
If it returns something, then you need host-pkgconf; otherwise, you
don't.
> Why do you suggest expat?
Because I tried to build upmpdcli, and it barfed because expat was not
available. ;-)
That being said, expat is not the only library providing XML parsing,
maybe it can use libxml2, too, but I did not check. The last message for
the failed configure was about missing expat, so I just added that.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread