]> code.ossystems Code Review - openembedded-core.git/commitdiff
image.bbclass: search both rootfs and native staging for passwd files
authorPeter A. Bigot <pab@pabigot.com>
Sat, 15 Nov 2014 04:58:16 +0000 (22:58 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 25 Nov 2014 12:58:20 +0000 (12:58 +0000)
When pseudo is configured to disallow fallback to the build host
/etc/hosts and /etc/group, the selection of ${IMAGE_ROOT} for
PSEUDO_PASSWD is insufficient as the necessary files will not be
available until base-passwd has been installed and its pkg_postinst
script run.  Fall back to the ${STAGING_DIR_NATIVE} version of those
files until the rootfs versions are available.  (The native copies are
never modified by the build; the ones in ${STAGING_DIR_TARGET} are
updated and may contain settings not consistent with what would be
created by post-install useradd/groupadd commands invoked in the image
rootfs.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
meta/classes/image.bbclass

index fc08653d2d0719ccab0a4340dc091bbeebef6e82..6bbfaf8208c325990d12b39b9b44f6bb1c30f6a8 100644 (file)
@@ -175,7 +175,9 @@ IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
 
 LINGUAS_INSTALL ?= "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IMAGE_LINGUAS', True).split()))}"
 
-PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
+# Prefer image, but use the fallback files for lookups if the image ones
+# aren't yet available.
+PSEUDO_PASSWD = "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}"
 
 do_rootfs[dirs] = "${TOPDIR}"
 do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"