[oe-commits] [openembedded-core] 05/37: bitbake.conf: Don't exclude MACHINE/MACHINEOVERRIDES from hashes

git at git.openembedded.org git at git.openembedded.org
Tue Jun 13 11:59:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 9cff83af0880b70a498538e08c5607829e4e80a9
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Tue Jun 13 10:22:28 2017 +0100

    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).
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/conf/bitbake.conf | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index bc438cc..5d5ddec 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -714,11 +714,9 @@ DISTRO_NAME ??= "OpenEmbedded"
 # This works for  functions as well, they are really just environment variables.
 # Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
 OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}${DISTROFEATURESOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
-OVERRIDES[vardepsexclude] = "MACHINEOVERRIDES"
 CLASSOVERRIDE ?= "class-target"
 DISTROOVERRIDES ?= "${@d.getVar('DISTRO') or ''}"
 MACHINEOVERRIDES ?= "${MACHINE}"
-MACHINEOVERRIDES[vardepsexclude] = "MACHINE"
 
 FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list