diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-21 22:36:29 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-26 22:09:44 +0100 |
commit | 857cf2d7b39f7e6f0445fea6a591dd27061142ea (patch) | |
tree | 69e9b56c77f0b58ca46ec05ae2f4884d7ec83a9e /meta/classes | |
parent | 9632185627369c390d994b52c28f2c2359886cbc (diff) | |
download | poky-857cf2d7b39f7e6f0445fea6a591dd27061142ea.tar.gz |
rust-cross*: Fix OVERRRIDE references in task signature computation
The oeqa selftest test:
sstatetests.SStateTests.test_sstate_sametune_samesigs
which checks if the sstate checksums of two identical machines
(using the same tune) are the same, apart from changes within
the machine specific stamps directory, fails on the assertion:
self.assertCountEqual(files1, files2)
due to the signature of various 32 bit package builds such as:
x86_64-linux/lib32-rust-cross-i686
x86_64-linux/rust-cross-i686
x86-pokymllib32-linux/lib32-libstd-rs
x86-pokymllib32-linux/lib32-rust
differing. Jumping down the rabbit hole past all the bitbake-diffsig
outputs that differ due to dependent hashes, you come to a diff of:
-Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}
+Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}:qemux86
in
stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target.<sig>
This is because there are two rust functions referencing OVERRIDES
related variables (target_is_armv7 and llvm_features_from_tune). These
indirectly influnce the build and should be excluded from the signatures
directly as is done in other toolchain recipes, e.g.:
39bfa0dd32 recipes/*-cross recipes: ignore TARGET_ARCH sstate hash
(From OE-Core rev: 72d67410e92207a98a801ddf0cb9f1297a752975)
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/rust-common.bbclass | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass index 2093654ac6..70f1ee0e3b 100644 --- a/meta/classes/rust-common.bbclass +++ b/meta/classes/rust-common.bbclass | |||
@@ -48,6 +48,7 @@ def target_is_armv7(d): | |||
48 | return False | 48 | return False |
49 | else: | 49 | else: |
50 | return True | 50 | return True |
51 | target_is_armv7[vardepvalue] = "${@target_is_armv7(d)}" | ||
51 | 52 | ||
52 | # Responsible for taking Yocto triples and converting it to Rust triples | 53 | # Responsible for taking Yocto triples and converting it to Rust triples |
53 | def rust_base_triple(d, thing): | 54 | def rust_base_triple(d, thing): |