diff options
authorPeter A. Bigot <>2014-11-14 22:58:16 -0600
committerRichard Purdie <>2014-11-25 12:58:20 +0000
commit8c653bafaa32126c54400bb56b9a94f07cd33197 (patch)
parent15b3b796d6e06fb7a7867d132b234d783e733531 (diff)
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 <>
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()))}"
+# Prefer image, but use the fallback files for lookups if the image ones
+# aren't yet available.
do_rootfs[dirs] = "${TOPDIR}"
do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"