summaryrefslogtreecommitdiffstats
path: root/meta/classes/staging.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-29 16:33:26 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-02 17:13:19 +0100
commitc013ae59a158378d06ecf8eb123df0a10bf986b4 (patch)
treece59bca0ebbfa5b76c2d09b62a430557012787e3 /meta/classes/staging.bbclass
parent295c5a3d19834a2fac255346d0a373449cfdd776 (diff)
downloadopenembedded-core-c013ae59a158378d06ecf8eb123df0a10bf986b4.tar.gz
staging/image: Fix multilib recipe sysroot issues
Currently if you enable multilib, then build an image, the multilib recipe sysroot is build in the wrong WORKDIR. If you then clean and rebuild the image you see "file exists" errors. This patch ensures the real WORKDIR is used consistently and then cleans/rebuilds also work correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/staging.bbclass')
-rw-r--r--meta/classes/staging.bbclass4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 3fcbc9f15d..f04c7b637d 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -471,6 +471,10 @@ python extend_recipe_sysroot() {
os.symlink(c + "." + taskhash, depdir + "/" + c)
manifest, d2 = oe.sstatesig.find_sstate_manifest(c, setscenedeps[dep][2], "populate_sysroot", d, multilibs)
+ if d2 is not d:
+ # If we don't do this, the recipe sysroot will be placed in the wrong WORKDIR for multilibs
+ # We need a consistent WORKDIR for the image
+ d2.setVar("WORKDIR", d.getVar("WORKDIR"))
destsysroot = d2.getVar("RECIPE_SYSROOT")
native = False