[oe-commits] Peter A. Bigot : useradd.bbclass: set PSEUDO_PASSWD consistent with root directory

git at git.openembedded.org git at git.openembedded.org
Wed Nov 26 17:07:09 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: ec3417ad825c52f5137d38b91d8fcb4637a50f4c
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=ec3417ad825c52f5137d38b91d8fcb4637a50f4c

Author: Peter A. Bigot <pab at pabigot.com>
Date:   Sat Nov 15 13:53:54 2014 -0600

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 at pabigot.com>

---

 meta/classes/useradd.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 3b70e80..0b9a843 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



More information about the Openembedded-commits mailing list