summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter A. Bigot <pab@pabigot.com>2014-11-15 13:53:54 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-11-25 12:58:21 +0000
commitec3417ad825c52f5137d38b91d8fcb4637a50f4c (patch)
treef479a5b6e3cba06f550a4844936a2ce1d6c27bc4
parent071d364b7a758ba5e546bb18c5816ac4c2e6747c (diff)
downloadopenembedded-core-contrib-ec3417ad825c52f5137d38b91d8fcb4637a50f4c.tar.gz
openembedded-core-contrib-ec3417ad825c52f5137d38b91d8fcb4637a50f4c.tar.bz2
openembedded-core-contrib-ec3417ad825c52f5137d38b91d8fcb4637a50f4c.zip
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. Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-rw-r--r--meta/classes/useradd.bbclass2
1 files changed, 2 insertions, 0 deletions
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