]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
rust-target-config.bbclass: apply signature exclusions only to native/nativesdk
authorAlexander Kanavin <alex@linutronix.de>
Wed, 14 Jan 2026 13:40:59 +0000 (14:40 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 14 Jan 2026 17:34:55 +0000 (17:34 +0000)
Applying these exclusions to target builds and expecting that rebuilds
happen when they should relies on incidental
mechanisms like paths or other variables using the excluded ones.

Rather than think of possible scenarions where it works, and where
it doesn't, let's not exclude the variables from target builds, so
task signature calculation can be relied on.

[YOCTO #16132]

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/rust-target-config.bbclass

index 8e737c1451bd57f18185cd1b78cc0c1e3d5d19d8..a0a590bf62ffa87c1f7d5720cd1c5d33fff3f501 100644 (file)
@@ -432,8 +432,10 @@ def rust_gen_target(d, thing, wd, arch):
     with open(wd + rustsys + '.json', 'w') as f:
         json.dump(tspec, f, indent=4)
 
-# These are accounted for in tmpdir path names so don't need to be in the task sig
-rust_gen_target[vardepsexclude] += "ABIEXTENSION llvm_cpu TUNE_RISCV_ABI"
+RUSTCONFIG_EXCLUDEVARS = ""
+RUSTCONFIG_EXCLUDEVARS:class-native = "ABIEXTENSION llvm_cpu TUNE_RISCV_ABI"
+RUSTCONFIG_EXCLUDEVARS:class-nativesdk = "ABIEXTENSION llvm_cpu TUNE_RISCV_ABI"
+rust_gen_target[vardepsexclude] += "${RUSTCONFIG_EXCLUDEVARS}"
 
 do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES"