]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
multilib: fix SSTATE_ARCHS for multilib usage
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 19 Sep 2023 17:05:31 +0000 (18:05 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Sep 2023 22:50:30 +0000 (23:50 +0100)
When building multilibs, we need to inject the multilib sstate pkgarch
into SSTATE_ARCHS so the list forms a complete search path. Add a tweak
to do this.

PACKAGE_ARCH defaults to TUNE_PKGARCH so this is equivalent and just
guards against recipes changing the value which may have other unwanted
side effects.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-global/sstate.bbclass
meta/classes-recipe/image.bbclass
meta/classes/multilib.bbclass

index 275917ed7f79046d0004d0a5a346ac6343dd7251..d846e22f442289e597f9e06b2a03daa31f5dd7cb 100644 (file)
@@ -85,6 +85,7 @@ SSTATE_HASHEQUIV_FILEMAP ?= " \
 
 BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
 
+SSTATE_ARCHS_TUNEPKG ??= "${TUNE_PKGARCH}"
 SSTATE_ARCHS = " \
     ${BUILD_ARCH} \
     ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
@@ -92,7 +93,7 @@ SSTATE_ARCHS = " \
     ${SDK_ARCH}_${SDK_OS} \
     ${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX} \
     allarch \
-    ${PACKAGE_ARCH} \
+    ${SSTATE_ARCHS_TUNEPKG} \
     ${PACKAGE_EXTRA_ARCHS} \
     ${MACHINE_ARCH}"
 SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING"
index 4f00162e7898f9a725c94298953c3c043e9c1e85..7231fad940d2096caeff26f19800b14a2f8d1aa2 100644 (file)
@@ -96,6 +96,7 @@ USE_DEPMOD ?= "1"
 PID = "${@os.getpid()}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
+SSTATE_ARCHS_TUNEPKG = "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}"
 
 LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot"
 LDCONFIGDEPEND:libc-musl = ""
index 8a1a51aabad67f52c529b3f7c5e904b746d77b6f..d80a34cf27fcf697045b28cc0ba333a5535819d9 100644 (file)
@@ -30,6 +30,9 @@ python multilib_virtclass_handler () {
         if val:
             e.data.setVar(name + "_MULTILIB_ORIGINAL", val)
 
+    # We nearly don't need this but dependencies on NON_MULTILIB_RECIPES don't work without it
+    d.setVar("SSTATE_ARCHS_TUNEPKG", "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}")
+
     overrides = e.data.getVar("OVERRIDES", False)
     pn = e.data.getVar("PN", False)
     overrides = overrides.replace("pn-${PN}", "pn-${PN}:pn-" + pn)