[oe-commits] [openembedded-core] 02/04: staging/image: Fix multilib recipe sysroot issues
git at git.openembedded.org
git at git.openembedded.org
Mon Jul 2 10:46:30 UTC 2018
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
commit 8088c01f4266302ae35b8470b1233eee86fe7de2
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Fri Jun 29 16:33:26 2018 +0000
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 at linuxfoundation.org>
---
meta/classes/staging.bbclass | 4 ++++
meta/classes/utils.bbclass | 3 +++
2 files changed, 7 insertions(+)
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 3fcbc9f..f04c7b6 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
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
index 4f016e3..09a07ec 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes/utils.bbclass
@@ -338,6 +338,9 @@ def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = '
variants = d.getVar("MULTILIB_VARIANTS") or ""
for item in variants.split():
localdata = get_multilib_datastore(item, d)
+ # Used in populate_sdk_base we want it to point at the correct workdir
+ if var == "STAGING_BINDIR_CROSS":
+ localdata.setVar("WORKDIR", d.getVar("WORKDIR"))
value = localdata.getVar(var) or ""
if value != "":
if need_split:
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list