On 12/8/11 1:05 AM, Martin Jansa wrote:
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.pur...@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.
Andreas: What packaging type are you using?
I know that RPM never uses the uid/gid, it always does a look up. If the look
up fails it then falls back to "root". So you should never see something like a
70, unless there is a manual chown/grp somewhere making the change.
opkg had a bug before where it only used the uid/gid number, I know Richard
patched that -- but I'm not sure what happens if the look up fails. It may fall
back to the embedded numeric ids. If that is the case, the real issue may
simply be that the uname/gname hasn't yet made it into the passwd/group files.
If you are using opkg, try switching to RPM and see if the behavior on these
files changes, if it does what the new value is.
--Mark
Regards,
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core