summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-08 10:12:45 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-25 23:00:59 +0000
commit9cfc1a05ba7f711d10f284d5a46d532be922db33 (patch)
tree4562a79bc3eca3b37b6d49af35985338d8d02a06 /meta/classes
parent1daa0b99227c2457d5fe3969929e3a413c1b3478 (diff)
downloadpoky-9cfc1a05ba7f711d10f284d5a46d532be922db33.tar.gz
staging/multilib: Fix manifest corruption
The previous fix wasn't enough to address all the possible ways the manifests might be ordered. Rework the previous fix so it is tied to the multilib cross-canadian code which is causing the problem. RECIPE_SYSROOT_MANIFEST_SUBDIR is not documented as I'd hope nobody ever needs to use this outside the core multilib code. (From OE-Core rev: 271ac31e15d00d636e888a1f3b7d4e22e0b8267a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit beab42e00713880cd95a04729c892f8662fbcbed) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/multilib.bbclass1
-rw-r--r--meta/classes/staging.bbclass7
2 files changed, 5 insertions, 3 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 9a8b02d4f6..b5c59ac593 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -45,6 +45,7 @@ python multilib_virtclass_handler () {
45 e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") 45 e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot")
46 e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") 46 e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot")
47 e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") 47 e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot")
48 e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant)
48 e.data.setVar("MLPREFIX", variant + "-") 49 e.data.setVar("MLPREFIX", variant + "-")
49 override = ":virtclass-multilib-" + variant 50 override = ":virtclass-multilib-" + variant
50 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) 51 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 4177e6cf05..21523c8f75 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -267,9 +267,10 @@ python extend_recipe_sysroot() {
267 pn = d.getVar("PN") 267 pn = d.getVar("PN")
268 stagingdir = d.getVar("STAGING_DIR") 268 stagingdir = d.getVar("STAGING_DIR")
269 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" 269 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
270 mlprefix = d.getVar("MLPREFIX") 270 # only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT
271 if mlprefix: 271 manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR")
272 sharedmanifests = sharedmanifests + "/" + mlprefix 272 if manifestprefix:
273 sharedmanifests = sharedmanifests + "/" + manifestprefix
273 recipesysroot = d.getVar("RECIPE_SYSROOT") 274 recipesysroot = d.getVar("RECIPE_SYSROOT")
274 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE") 275 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
275 276