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-23 22:45:34 +0000
commitffe8c02141c86f4b52c7d9040fefc2a86c96d480 (patch)
treed1807dde3088d4ee6af7df553639c64f1298eeec /meta/classes
parent7767b14a3455a6dad797609729662f9edb2dd3ba (diff)
downloadpoky-ffe8c02141c86f4b52c7d9040fefc2a86c96d480.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: 0aa703c06bf101114836ac701bbb524302c0753a) 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 5859ca8d21..a0be559970 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 885bd347e0..044873c9ae 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -269,9 +269,10 @@ python extend_recipe_sysroot() {
269 pn = d.getVar("PN") 269 pn = d.getVar("PN")
270 stagingdir = d.getVar("STAGING_DIR") 270 stagingdir = d.getVar("STAGING_DIR")
271 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" 271 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
272 mlprefix = d.getVar("MLPREFIX") 272 # only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT
273 if mlprefix: 273 manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR")
274 sharedmanifests = sharedmanifests + "/" + mlprefix 274 if manifestprefix:
275 sharedmanifests = sharedmanifests + "/" + manifestprefix
275 recipesysroot = d.getVar("RECIPE_SYSROOT") 276 recipesysroot = d.getVar("RECIPE_SYSROOT")
276 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE") 277 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
277 278