[OE-core] [PATCH] bitbake.conf/image.bbclass: Ensure images use the correct passwd/group files

Koen Kooi koen at dominion.thruhere.net
Fri Dec 9 15:10:36 UTC 2011


Op 9 dec. 2011, om 16:05 heeft Richard Purdie het volgende geschreven:

> On Fri, 2011-12-09 at 14:44 +0100, Koen Kooi wrote:
>> Op 8 dec. 2011, om 08:05 heeft Martin Jansa het volgende geschreven:
>> 
>>> On Thu, Dec 08, 2011 at 12:53:11AM +0100, Andreas Müller wrote:
>>>> On Wednesday, December 07, 2011 06:34:07 PM Richard Purdie wrote:
>>>>> We need pseudo to use the rootfs passwd/group files belonging to the
>>>>> rootfs when building images. This patch ensures that we use the rootfs
>>>>> files instead of those in the sysroot which can lead to incorrect file
>>>>> ownership issues.
>>>>> 
>>>>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>>>>> 
>>>>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>>>>> index 4642fa6..865d430 100644
>>>>> --- a/meta/classes/image.bbclass
>>>>> +++ b/meta/classes/image.bbclass
>>>>> @@ -121,6 +121,8 @@ IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
>>>>> 
>>>>> LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s,
>>>>> d.getVar('IMAGE_LINGUAS', 1).split()))}"
>>>>> 
>>>>> +PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
>>>>> +
>>>>> do_rootfs[nostamp] = "1"
>>>>> do_rootfs[dirs] = "${TOPDIR}"
>>>>> do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
>>>>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>>>>> index e80cc32..eeb1fc4 100644
>>>>> --- a/meta/conf/bitbake.conf
>>>>> +++ b/meta/conf/bitbake.conf
>>>>> @@ -580,11 +580,12 @@ SRC_URI = "file://${FILE}"
>>>>> 
>>>>> # Use pseudo as the fakeroot implementation
>>>>> PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/"
>>>>> +PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}"
>>>>> export PSEUDO_DISABLED = "1"
>>>>> #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}"
>>>>> #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}"
>>>>> #export PSEUDO_LIBDIR =
>>>>> "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib -FAKEROOTENV =
>>>>> "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
>>>>> PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
>>>>> PSEUDO_PASSWD=${STAGING_DIR_TARGET} PSEUDO_NOSYMLINKEXP=1
>>>>> PSEUDO_DISABLED=0" +FAKEROOTENV =
>>>>> "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native}
>>>>> PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR}
>>>>> PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
>>>>> FAKEROOTNOENV = "PSEUDO_UNLOAD=1"
>>>>> FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}"
>>>>> PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
>>>> dbus still needs manual call of 
>>>> 
>>>> 	chown messagebus:messagebus /var/run/dbus /var/lib/dbus
>>>> 
>>>> ( it is root:root on my image) and
>>>> 
>>>> 	chown root:messagebus /usr/libexec/dbus-daemon-launch-helper
>>>> 
>>>> ( it is avahi:netdev on my image )
>>>> 
>>>> Does this one fix it?
>>> 
>>> It did for me, see:
>>> http://bugzilla.pokylinux.org/show_bug.cgi?id=1711
>>> 
>>>> To test: Is it enough to rebuild dbus?
>>> 
>>> I had right owners in dbus package, wrong only in rootfs, so your issue
>>> could be different.
>> 
>> I've also started seeing this issue recently, I wonder if it's due to switching MACHINEs and sstate invalidation.
> 
> Has it continued since the above patch was merged or not?
> 
> What we really need at this point is a clear reproducer for the bug.

I'm seeing it in a filesystem I built yesterday from an incremental build:

commit 493746f1d7f1410284880203c1ac462d61ab5299
Author: Martin Jansa <martin.jansa at gmail.com>
Date:   Tue Dec 6 09:35:21 2011 +0100


regards,

Koen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20111209/5d673deb/attachment-0002.sig>


More information about the Openembedded-core mailing list