diff options
author | Mikko Ylinen <mikko.ylinen@linux.intel.com> | 2017-10-03 10:09:26 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-10-07 23:20:40 +0100 |
commit | 5b28fe163a177ee6aae94fc558bb248027e7460d (patch) | |
tree | 964f07c6880889ef46c51326f4cb4d24db63668c /meta/classes/staging.bbclass | |
parent | 4433e8616e92ab5075f28a3d406ecd98e5c6fc05 (diff) | |
download | poky-5b28fe163a177ee6aae94fc558bb248027e7460d.tar.gz |
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 <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/staging.bbclass')
-rw-r--r-- | meta/classes/staging.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index d21e198ae8..c479bd93ea 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass | |||
@@ -167,7 +167,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): | |||
167 | if not fixme: | 167 | if not fixme: |
168 | return | 168 | return |
169 | cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative) | 169 | cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative) |
170 | for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']: | 170 | for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']: |
171 | fixme_path = d.getVar(fixmevar) | 171 | fixme_path = d.getVar(fixmevar) |
172 | cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) | 172 | cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) |
173 | bb.debug(2, cmd) | 173 | bb.debug(2, cmd) |