Patchwork useradd: Add missing DEPEND on shadow

login
register
mail settings
Submitter Richard Purdie
Date Nov. 10, 2011, 12:03 a.m.
Message ID <1320883434.10843.244.camel@ted>
Download mbox | patch
Permalink /patch/14669/
State Accepted
Commit bfe70c6446e6686f826f01040ba74c7d7d28bf42
Headers show

Comments

Richard Purdie - Nov. 10, 2011, 12:03 a.m.
Without this rootfs generation fails as an RDEPENDS is added
but the package might not have bneen built.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
McClintock Matthew-B29882 - Feb. 19, 2012, 7:29 a.m.
On Wed, Nov 9, 2011 at 4:03 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> Without this rootfs generation fails as an RDEPENDS is added
> but the package might not have bneen built.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> index 8cd7f4f..7faf1a7 100644
> --- a/meta/classes/useradd.bbclass
> +++ b/meta/classes/useradd.bbclass
> @@ -2,7 +2,7 @@
>  # target sysroot, and shadow -native and -sysroot provide the utilities
>  # and support files needed to add and modify user and group accounts
>  DEPENDS_append = "${USERADDDEPENDS}"
> -USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot"
> +USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow"

The shadow recipe is a 'PACKAGE_ARCH = "${MACHINE_ARCH}"' recipe. This
makes all recipes that inherit useradd depend on shadow which will
depend on the MACHINE being built for. Ideally, we just need a way to
ensure these packages are deployed - we don't want them to effect
signatures.

Can you suggest a better fix here? Some
bb.exec_func("shadow:do_populate_sysroot") or something equivalent?

-M
Paul Menzel - Feb. 19, 2012, 11:51 a.m.
Am Sonntag, den 19.02.2012, 07:29 +0000 schrieb McClintock Matthew-B29882:
> On Wed, Nov 9, 2011 at 4:03 PM, Richard Purdie wrote:
> > Without this rootfs generation fails as an RDEPENDS is added
> > but the package might not have bneen built.

s/bneen/been/

> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> > index 8cd7f4f..7faf1a7 100644
> > --- a/meta/classes/useradd.bbclass
> > +++ b/meta/classes/useradd.bbclass
> > @@ -2,7 +2,7 @@
> >  # target sysroot, and shadow -native and -sysroot provide the utilities
> >  # and support files needed to add and modify user and group accounts
> >  DEPENDS_append = "${USERADDDEPENDS}"
> > -USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot"
> > +USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow"
> 
> The shadow recipe is a 'PACKAGE_ARCH = "${MACHINE_ARCH}"' recipe. This
> makes all recipes that inherit useradd depend on shadow which will
> depend on the MACHINE being built for. Ideally, we just need a way to
> ensure these packages are deployed - we don't want them to effect
> signatures.
> 
> Can you suggest a better fix here? Some
> bb.exec_func("shadow:do_populate_sysroot") or something equivalent?

You raise a good point, but I have no solution.


Thanks,

Paul
Richard Purdie - Feb. 19, 2012, 3:08 p.m.
On Sun, 2012-02-19 at 07:29 +0000, McClintock Matthew-B29882 wrote:
> On Wed, Nov 9, 2011 at 4:03 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > Without this rootfs generation fails as an RDEPENDS is added
> > but the package might not have bneen built.
> >
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
> > index 8cd7f4f..7faf1a7 100644
> > --- a/meta/classes/useradd.bbclass
> > +++ b/meta/classes/useradd.bbclass
> > @@ -2,7 +2,7 @@
> >  # target sysroot, and shadow -native and -sysroot provide the utilities
> >  # and support files needed to add and modify user and group accounts
> >  DEPENDS_append = "${USERADDDEPENDS}"
> > -USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot"
> > +USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow"
> 
> The shadow recipe is a 'PACKAGE_ARCH = "${MACHINE_ARCH}"' recipe. This
> makes all recipes that inherit useradd depend on shadow which will
> depend on the MACHINE being built for. Ideally, we just need a way to
> ensure these packages are deployed - we don't want them to effect
> signatures.
> 
> Can you suggest a better fix here? Some
> bb.exec_func("shadow:do_populate_sysroot") or something equivalent?

This was already fixed:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7c8899662be5623bedaa9a848fafebeafb348cf0

and the new machine specific subpackage is excluded from sstate's
signatures.

Cheers,

Richard
McClintock Matthew-B29882 - Feb. 19, 2012, 6:22 p.m.
On Sun, Feb 19, 2012 at 7:08 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Sun, 2012-02-19 at 07:29 +0000, McClintock Matthew-B29882 wrote:
>> On Wed, Nov 9, 2011 at 4:03 PM, Richard Purdie
>> <richard.purdie@linuxfoundation.org> wrote:
>> > Without this rootfs generation fails as an RDEPENDS is added
>> > but the package might not have bneen built.
>> >
>> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> > ---
>> > diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
>> > index 8cd7f4f..7faf1a7 100644
>> > --- a/meta/classes/useradd.bbclass
>> > +++ b/meta/classes/useradd.bbclass
>> > @@ -2,7 +2,7 @@
>> >  # target sysroot, and shadow -native and -sysroot provide the utilities
>> >  # and support files needed to add and modify user and group accounts
>> >  DEPENDS_append = "${USERADDDEPENDS}"
>> > -USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot"
>> > +USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow"
>>
>> The shadow recipe is a 'PACKAGE_ARCH = "${MACHINE_ARCH}"' recipe. This
>> makes all recipes that inherit useradd depend on shadow which will
>> depend on the MACHINE being built for. Ideally, we just need a way to
>> ensure these packages are deployed - we don't want them to effect
>> signatures.
>>
>> Can you suggest a better fix here? Some
>> bb.exec_func("shadow:do_populate_sysroot") or something equivalent?
>
> This was already fixed:
>
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7c8899662be5623bedaa9a848fafebeafb348cf0
>
> and the new machine specific subpackage is excluded from sstate's
> signatures.

Ah missed this - thanks.

-M

Patch

diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 8cd7f4f..7faf1a7 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -2,7 +2,7 @@ 
 # target sysroot, and shadow -native and -sysroot provide the utilities
 # and support files needed to add and modify user and group accounts
 DEPENDS_append = "${USERADDDEPENDS}"
-USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot"
+USERADDDEPENDS = " base-passwd shadow-native shadow-sysroot shadow"
 USERADDDEPENDS_virtclass-nativesdk = ""
 
 # This preinstall function will be run in two contexts: once for the