summaryrefslogtreecommitdiff
path: root/meta/classes
diff options
context:
space:
mode:
authorPeter A. Bigot <pab@pabigot.com>2014-11-14 22:58:16 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-11-25 12:58:20 +0000
commit8c653bafaa32126c54400bb56b9a94f07cd33197 (patch)
treefa82a989d7660e2d48b499fbdef2f5f91ad90e93 /meta/classes
parent15b3b796d6e06fb7a7867d132b234d783e733531 (diff)
downloadopenembedded-core-8c653bafaa32126c54400bb56b9a94f07cd33197.tar.gz
openembedded-core-8c653bafaa32126c54400bb56b9a94f07cd33197.tar.bz2
openembedded-core-8c653bafaa32126c54400bb56b9a94f07cd33197.zip
image.bbclass: search both rootfs and native staging for passwd files
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>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/image.bbclass4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index fc08653d2d..6bbfaf8208 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -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"