summaryrefslogtreecommitdiffstats
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-09 21:06:37 +0000
commita5352932d927a164b460a2e117bfb1bd9aeb345a (patch)
treeaaf77638b9d39d1fb9ae94413d7800a7a60586c7
parentad3dfac07f856917434deb073fe9c8a788d4c21d (diff)
downloadpoky-a5352932d927a164b460a2e117bfb1bd9aeb345a.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: beab42e00713880cd95a04729c892f8662fbcbed) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-global/staging.bbclass7
-rw-r--r--meta/classes/multilib.bbclass1
2 files changed, 5 insertions, 3 deletions
diff --git a/meta/classes-global/staging.bbclass b/meta/classes-global/staging.bbclass
index e6d0d1d55c..a058d344fd 100644
--- a/meta/classes-global/staging.bbclass
+++ b/meta/classes-global/staging.bbclass
@@ -275,9 +275,10 @@ python extend_recipe_sysroot() {
275 pn = d.getVar("PN") 275 pn = d.getVar("PN")
276 stagingdir = d.getVar("STAGING_DIR") 276 stagingdir = d.getVar("STAGING_DIR")
277 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" 277 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
278 mlprefix = d.getVar("MLPREFIX") 278 # only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT
279 if mlprefix: 279 manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR")
280 sharedmanifests = sharedmanifests + "/" + mlprefix 280 if manifestprefix:
281 sharedmanifests = sharedmanifests + "/" + manifestprefix
281 recipesysroot = d.getVar("RECIPE_SYSROOT") 282 recipesysroot = d.getVar("RECIPE_SYSROOT")
282 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE") 283 recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
283 284
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 10a4ef9c37..8a1a51aaba 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -51,6 +51,7 @@ python multilib_virtclass_handler () {
51 e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") 51 e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot")
52 e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") 52 e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot")
53 e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") 53 e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot")
54 e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant)
54 e.data.setVar("MLPREFIX", variant + "-") 55 e.data.setVar("MLPREFIX", variant + "-")
55 override = ":virtclass-multilib-" + variant 56 override = ":virtclass-multilib-" + variant
56 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) 57 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)