From 5b28fe163a177ee6aae94fc558bb248027e7460d Mon Sep 17 00:00:00 2001 From: Mikko Ylinen Date: Tue, 3 Oct 2017 10:09:26 +0300 Subject: staging.bbclass: handle postinst-useradd-* fixmes After 02457ef7f600ce954874e2d11e74b1c6daaa3bfc, PSEUDO for postinst-useradd-* scripts get to use only one PSEUDO_LOCALSTATEDIR which is set under recipes ${WORKDIR}. When the those scripts are run in a clean build environment that is built from the sstate (populate_sysroot_setscene run for postinst-useradd-* providers), pseudo fails to run because it cannot access the PSEUDO_LOCALSTATEDIR (recipe ${WORKDIR}s do not exist). This triggers a sysroot staging error. Previously, the PSEUDO_LOCALSTATEDIR setting in useradd.bbclass worked because the RSS sstate/staging logic automagically processed ${STAGING_DIR_TARGET} in postinst-useradd-* scripts to point under the sysroot being built. The fix uses the same fixme processing by adding PSEUDO_LOCALSTATEDIR variable to it. Furthermore, LOGFIFO is added to be able to use the logging fifo of the recipe that actually runs postinst-useradd-*. (From OE-Core rev: b28374cfad37db161b5ac5953b4a4638912f3f27) Signed-off-by: Mikko Ylinen Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/useradd.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'meta/classes/useradd.bbclass') diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index 686e5fbefe..c9103cbe6a 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -133,9 +133,10 @@ useradd_sysroot () { } # The export of PSEUDO in useradd_sysroot() above contains references to -# ${COMPONENTS_DIR}. These need to be handled when restoring +# ${COMPONENTS_DIR} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging +# shell functions use ${LOGFIFO}. These need to be handled when restoring # postinst-useradd-${PN} from the sstate cache. -EXTRA_STAGING_FIXMES += "COMPONENTS_DIR" +EXTRA_STAGING_FIXMES += "COMPONENTS_DIR PSEUDO_LOCALSTATEDIR LOGFIFO" python useradd_sysroot_sstate () { scriptfile = None -- cgit v1.2.3-54-g00ecf