diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-09-19 18:05:31 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-09-20 23:51:11 +0100 |
commit | 84e17003c6098007f896ef301449a4748f9720fe (patch) | |
tree | 44a3289010c88e5a9db6cb9a0d0f41f5debdab4b /meta | |
parent | 36397b6a17be9cb3366d91a59a12317b4c7eb493 (diff) | |
download | poky-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.bbclass | 3 | ||||
-rw-r--r-- | meta/classes-recipe/image.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/multilib.bbclass | 3 |
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 | ||
86 | BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}" | 86 | BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}" |
87 | 87 | ||
88 | SSTATE_ARCHS_TUNEPKG ??= "${TUNE_PKGARCH}" | ||
88 | SSTATE_ARCHS = " \ | 89 | SSTATE_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}" |
98 | SSTATE_ARCHS[vardepsexclude] = "ORIGNATIVELSBSTRING" | 99 | SSTATE_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" | |||
96 | PID = "${@os.getpid()}" | 96 | PID = "${@os.getpid()}" |
97 | 97 | ||
98 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 98 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
99 | SSTATE_ARCHS_TUNEPKG = "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}" | ||
99 | 100 | ||
100 | LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot" | 101 | LDCONFIGDEPEND ?= "ldconfig-native:do_populate_sysroot" |
101 | LDCONFIGDEPEND:libc-musl = "" | 102 | LDCONFIGDEPEND: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) |