summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-09-19 18:05:31 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-09-20 23:51:11 +0100
commit84e17003c6098007f896ef301449a4748f9720fe (patch)
tree44a3289010c88e5a9db6cb9a0d0f41f5debdab4b /meta
parent36397b6a17be9cb3366d91a59a12317b4c7eb493 (diff)
downloadpoky-84e17003c6098007f896ef301449a4748f9720fe.tar.gz
multilib: fix SSTATE_ARCHS for multilib usage
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. (From OE-Core rev: 37126ffc7ccbd3df57ebbd8e581d158f03bb3b4c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes-global/sstate.bbclass3
-rw-r--r--meta/classes-recipe/image.bbclass1
-rw-r--r--meta/classes/multilib.bbclass3
3 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass
index 275917ed7f..d846e22f44 100644
--- a/meta/classes-global/sstate.bbclass
+++ b/meta/classes-global/sstate.bbclass
@@ -85,6 +85,7 @@ SSTATE_HASHEQUIV_FILEMAP ?= " \
85 85
86BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}" 86BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
87 87
88SSTATE_ARCHS_TUNEPKG ??= "${TUNE_PKGARCH}"
88SSTATE_ARCHS = " \ 89SSTATE_ARCHS = " \
89 ${BUILD_ARCH} \ 90 ${BUILD_ARCH} \
90 ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \ 91 ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
@@ -92,7 +93,7 @@ SSTATE_ARCHS = " \
92 ${SDK_ARCH}_${SDK_OS} \ 93 ${SDK_ARCH}_${SDK_OS} \
93 ${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX} \ 94 ${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX} \
94 allarch \ 95 allarch \
95 ${PACKAGE_ARCH} \ 96 ${SSTATE_ARCHS_TUNEPKG} \
96 ${PACKAGE_EXTRA_ARCHS} \ 97 ${PACKAGE_EXTRA_ARCHS} \
97 ${MACHINE_ARCH}" 98 ${MACHINE_ARCH}"
98SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING" 99SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING"
diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass
index 4f00162e78..7231fad940 100644
--- a/meta/classes-recipe/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -96,6 +96,7 @@ USE_DEPMOD ?= "1"
96PID = "${@os.getpid()}" 96PID = "${@os.getpid()}"
97 97
98PACKAGE_ARCH = "${MACHINE_ARCH}" 98PACKAGE_ARCH = "${MACHINE_ARCH}"
99SSTATE_ARCHS_TUNEPKG = "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}"
99 100
100LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot" 101LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot"
101LDCONFIGDEPEND:libc-musl = "" 102LDCONFIGDEPEND:libc-musl = ""
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 8a1a51aaba..d80a34cf27 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -30,6 +30,9 @@ python multilib_virtclass_handler () {
30 if val: 30 if val:
31 e.data.setVar(name + "_MULTILIB_ORIGINAL", val) 31 e.data.setVar(name + "_MULTILIB_ORIGINAL", val)
32 32
33 # We nearly don't need this but dependencies on NON_MULTILIB_RECIPES don't work without it
34 d.setVar("SSTATE_ARCHS_TUNEPKG", "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}")
35
33 overrides = e.data.getVar("OVERRIDES", False) 36 overrides = e.data.getVar("OVERRIDES", False)
34 pn = e.data.getVar("PN", False) 37 pn = e.data.getVar("PN", False)
35 overrides = overrides.replace("pn-${PN}", "pn-${PN}:pn-" + pn) 38 overrides = overrides.replace("pn-${PN}", "pn-${PN}:pn-" + pn)