From: Peter A. Bigot Date: Sat, 15 Nov 2014 19:53:54 +0000 (-0600) Subject: useradd.bbclass: set PSEUDO_PASSWD consistent with root directory X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=0b7e70aafdee68825f3c65bae89bde3e03a20de8;p=openembedded-core.git useradd.bbclass: set PSEUDO_PASSWD consistent with root directory When installing into a sysroot this class examines $D/etc/passwd for content, then invokes useradd to make changes. Under pseudo useradd attempts to look up user information in directories specified by $PSEUDO_PASSWD. For opkg multilib installs $D is not always the same as $IMAGE_ROOT, and the user might already be in the IMAGE_ROOT files, causing a failure during rootfs population. Fix this by ensuring the files pseudo looks at when doing useradd stuff are the same ones that useradd.bbclass will be manipulating. (From OE-Core rev: ec3417ad825c52f5137d38b91d8fcb4637a50f4c) Signed-off-by: Peter A. Bigot Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index 3b70e80b2f..0b9a843b24 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -24,6 +24,8 @@ if test "x$D" != "x"; then # Installing into a sysroot SYSROOT="$D" OPT="--root $D" + # user/group lookups should match useradd/groupadd --root + export PSEUDO_PASSWD="$SYSROOT:${STAGING_DIR_NATIVE}" fi # If we're not doing a special SSTATE/SYSROOT install