summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-13 10:22:28 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-14 10:18:28 +0100
commit2d224392dab399c40f170efdfe07db3a5d081c53 (patch)
tree22b53c6768566592787b899cb34ec5d9685a6a3f /meta
parent891b5ee2eeb3ffab1d269a7566e27c1c6997d241 (diff)
downloadpoky-2d224392dab399c40f170efdfe07db3a5d081c53.tar.gz
bitbake.conf: Don't exclude MACHINE/MACHINEOVERRIDES from hashes
A long time ago (6 years), this seemed like a good idea. The reality is that OVERRIDES should not be being added to hashes and if it is, it likely needs excluding in its own right. This was a nice workaround but we need to fix the real underlying issues now. In some cases this means excluding OVERRIDES from the variables dependency using the vardepsexclude flag however caution is needed to ensure this is safe. Variable values used to construct hashes are unexpanded but the values used are computed after the application of OVERRIDES. The important detail is if the end resulting unexpanded value changes, not the value of the OVERRIDES used in the construction of that unexpanded value. This is why dependencies on OVERRIDES itself shouldn't be in the hashes in general. The recent DISTRO_FEATURES changes adding in override mappings for them highlighted this issue. We have some good sstate tests which are effective at highlighting where potential issues arrive with OVERRIDES contamination (oe-selftest -r sstatetests.SStateTests). (From OE-Core rev: b227781f9c59a7dfe30f3f1c0dcff87e29a1689b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/conf/bitbake.conf2
1 files changed, 0 insertions, 2 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index bc438cca82..5d5ddec499 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -714,11 +714,9 @@ DISTRO_NAME ??= "OpenEmbedded"
714# This works for functions as well, they are really just environment variables. 714# This works for functions as well, they are really just environment variables.
715# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration. 715# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
716OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}${DISTROFEATURESOVERRIDES}:${CLASSOVERRIDE}:forcevariable" 716OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}${DISTROFEATURESOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
717OVERRIDES[vardepsexclude] = "MACHINEOVERRIDES"
718CLASSOVERRIDE ?= "class-target" 717CLASSOVERRIDE ?= "class-target"
719DISTROOVERRIDES ?= "${@d.getVar('DISTRO') or ''}" 718DISTROOVERRIDES ?= "${@d.getVar('DISTRO') or ''}"
720MACHINEOVERRIDES ?= "${MACHINE}" 719MACHINEOVERRIDES ?= "${MACHINE}"
721MACHINEOVERRIDES[vardepsexclude] = "MACHINE"
722 720
723FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}" 721FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
724 722