From: Richard Purdie Date: Wed, 8 Mar 2023 10:12:45 +0000 (+0000) Subject: staging/multilib: Fix manifest corruption X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~1491 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=beab42e00713880cd95a04729c892f8662fbcbed;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. Signed-off-by: Richard Purdie --- diff --git a/meta/classes-global/staging.bbclass b/meta/classes-global/staging.bbclass index e6d0d1d55cf..a058d344fde 100644 --- a/meta/classes-global/staging.bbclass +++ b/meta/classes-global/staging.bbclass @@ -275,9 +275,10 @@ python extend_recipe_sysroot() { pn = d.getVar("PN") stagingdir = d.getVar("STAGING_DIR") sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" - mlprefix = d.getVar("MLPREFIX") - if mlprefix: - sharedmanifests = sharedmanifests + "/" + mlprefix + # only needed by multilib cross-canadian since it redefines RECIPE_SYSROOT + manifestprefix = d.getVar("RECIPE_SYSROOT_MANIFEST_SUBDIR") + if manifestprefix: + sharedmanifests = sharedmanifests + "/" + manifestprefix recipesysroot = d.getVar("RECIPE_SYSROOT") recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE") diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index 10a4ef9c37a..8a1a51aabad 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -51,6 +51,7 @@ python multilib_virtclass_handler () { e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") + e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant) e.data.setVar("MLPREFIX", variant + "-") override = ":virtclass-multilib-" + variant e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)