> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> James Limbouris
> Sent: Wednesday, 26 October 2011 9:35 AM
> To: [email protected]
> Subject: [OE-core] useradd changes to dbus, base-passwd
> 
> Hi,
> 
> Recent changes to dbus have broken some sdk building:
> 
> Missing or unbuildable dependency chain was: ['meta-toolchain-qte', 'task-qte-
> toolchain-host-nativesdk', 'qt4-tools-nativesdk', 'dbus-nativesdk', 
> 'base-passwd-
> nativesdk']
> 
> I think the commit introducing the base-passed dependency is
> 46e6c3fa8034b12d178d605f3f5d7efe69671a13 (dbus: use useradd class to
> allow use in read-only filesystems).
> I'm not too clear on how useradd works, so I can't tell if simply adding
> BBCLASSEXTEND = "native nativesdk" to base-passwd is sufficient. I'd expect
> that this would cause dbus to add itself to the sdk sysroot's passwd (which
> previously didn't exist?). Seems harmless enough... I'm giving it a try now, 
> but
> any advice or opinions would be appreciated.

It seems that adding BBCLASSEXTEND = "native nativesdk" to base-passwd and 
shadow-sysroot is not sufficient.
dbus itself will not build for nativesdk:

NOTE: package dbus-nativesdk-1.4.12-r1: task do_install: Started
ERROR: Function 'useradd_sysroot' failed (see 
/home/james/oe/build/tmp-eglibc/work/i686-nativesdk-ricasdk-linux/dbus-nativesdk-1.4.12-r1/temp/log.do_install.1735
 for further information)
ERROR: Logfile of failure stored in: 
/home/james/oe/build/tmp-eglibc/work/i686-nativesdk-ricasdk-linux/dbus-nativesdk-1.4.12-r1/temp/log.do_install.1735
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 
'common-glibc', 'i686-linux', 'common']
| + cd 
/home/james/oe/build/tmp-eglibc/work/i686-nativesdk-ricasdk-linux/dbus-nativesdk-1.4.12-r1/dbus-1.4.12
| + useradd_sysroot
| + export 
PSEUDO=/home/james/oe/build/tmp-eglibc/sysroots/i686-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/pseudo
| + 
PSEUDO=/home/james/oe/build/tmp-eglibc/sysroots/i686-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/pseudo
| + export 
PSEUDO_LOCALSTATEDIR=/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/var/pseudo
| + 
PSEUDO_LOCALSTATEDIR=/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/var/pseudo
| + D=/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux
| + useradd_preinst
| + OPT=
| + SYSROOT=
| + test x/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux 
'!=' x
| + 
SYSROOT=/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux
| + OPT='--root 
/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux'
| + GROUPADD_PARAM='-r netdev'
| + USERADD_PARAM='--system --home 
/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/var/lib/dbus    
                    --no-create-home --user-group messagebus'
| + test 'x-r netdev' '!=' x
| + echo 'Running groupadd commands...'
| Running groupadd commands...
| ++ echo '-r netdev'
| ++ cut -d ';' -f 1
| + opts='-r netdev'
| ++ echo '-r netdev'
| ++ cut -d ';' -f 2-
| + remaining='-r netdev'
| + test 'x-r netdev' '!=' x
| ++ echo '-r netdev'
| ++ awk '{ print $NF }'
| + groupname=netdev
| ++ grep '^netdev:' 
/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux/etc/group
| grep: 
/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux/etc/group:
 No such file or directory
| ++ true
| + group_exists=
| + test x = x
| + eval 
/home/james/oe/build/tmp-eglibc/sysroots/i686-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/pseudo
 groupadd --root 
/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux -r netdev
| ++ 
/home/james/oe/build/tmp-eglibc/sysroots/i686-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/pseudo
 groupadd --root 
/home/james/oe/build/tmp-eglibc/sysroots/i686-nativesdk-ricasdk-linux -r netdev
| 
/home/james/oe/build/tmp-eglibc/work/i686-nativesdk-ricasdk-linux/dbus-nativesdk-1.4.12-r1/temp/run.useradd_sysroot.1735:
 line 129: 
/home/james/oe/build/tmp-eglibc/sysroots/i686-linux/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/pseudo:
 No such file or directory
| ERROR: Function 'useradd_sysroot' failed (see 
/home/james/oe/build/tmp-eglibc/work/i686-nativesdk-ricasdk-linux/dbus-nativesdk-1.4.12-r1/temp/log.do_install.1735
 for further information)
NOTE: package dbus-nativesdk-1.4.12-r1: task do_install: Failed
ERROR: Task 1370 
(virtual:nativesdk:/home/james/oe/sources/oe-core/meta/recipes-core/dbus/dbus_1.4.12.bb,
 do_install) failed with exit code '1'

Perhaps we should not inherit useradd when building for nativesdk? After all, 
the sdk sysroots have not had /etc/passwd in the past.

James


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to