sstate.bbclass: fixup extra hardcoded paths
cover sstate.bbclass: fixup extra hardcoded paths
From: Jackie Huang <[email protected]>
We need this since we have a script in the sstate-cache that has a hard coded path into the multilib toolchain directory and that isn't automatically relocated like it should be, so add this extra logic.
--
The following changes since commit 8f5bc47729edb8cb051d81e9ff1680cb8d2eca25:
dropbear: a fix for hang in dropbearkey, built for x32 (2013-05-24 14:14:30 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib jhuang0/d_multilib_image_0529_1
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=jhuang0/d_multilib_image_0529_1
Jackie Huang (1):
sstate.bbclass: fixup extra hardcoded paths
meta/classes/sstate.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+)
Signature · 1 line
1.7.9.5
PATCH 1/1 sstate.bbclass: fixup extra hardcoded paths
From: Jackie Huang <[email protected]>
sstate has a logic to fixup hardcoded paths in scripts, but it misses in some specific cases, so add EXTRA_STAGING_FIXMES to the fixup hardcoded paths mechanism, so that we can specify what hardcoded paths need to be fixed in a recipe, e.g. EXTRA_STAGING_FIXMES = "STAGING_BINDIR_TOOLCHAIN"
--- meta/classes/sstate.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+)
meta/classes/sstate.bbclass +11 -0
@@ -32,6 +32,7 @@ SSTATE_MANMACH ?= "${SSTATE_PKGARCH}" SSTATEPREINSTFUNCS ?= "" SSTATEPOSTINSTFUNCS ?= "" +EXTRA_STAGING_FIXMES ?= "" # Specify dirs in which the shell function is executed and don't use ${B} # as default dirs to avoid possible race about ${B} with other task.
@@ -258,6 +259,11 @@ def sstate_installpkg(ss, d): else: sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRHOST:%s:g'" % (staging_host) + extra_staging_fixmes = d.getVar('EXTRA_STAGING_FIXMES', True) or '' + for fixmevar in extra_staging_fixmes.split(): + fixme_path = d.getVar(fixmevar, True) + sstate_sed_cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) + # Add sstateinst to each filename in fixmepath, use xargs to efficiently call sed sstate_hardcode_cmd = "sed -e 's:^:%s:g' %s | xargs %s" % (sstateinst, fixmefn, sstate_sed_cmd)
@@ -392,6 +398,11 @@ def sstate_hardcode_path(d): sstate_grep_cmd = "grep -l -e '%s'" % (staging_host) sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host) + extra_staging_fixmes = d.getVar('EXTRA_STAGING_FIXMES', True) or '' + for fixmevar in extra_staging_fixmes.split(): + fixme_path = d.getVar(fixmevar, True) + sstate_sed_cmd += " -e 's:%s:FIXME_%s:g'" % (fixme_path, fixmevar) + fixmefn = sstate_builddir + "fixmepath" sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD', True)
Signature · 1 line
1.7.9.5