From 19c9496bb5ae8e74512de2f539644d4c56651778 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 21 Oct 2026 15:06:14 -0300 Subject: [PATCH] conf/layer.conf: Skip the Rust backport when the LTS Rust mixin is used The meta-lts-mixins kirkstone/rust layer provides a newer Rust (1.92) and masks the OE-Core rust and cargo recipes. With it in the build, the Rust 1.65 backport carried here conflicts with it, and the cargo-cross-canadian bbappend has no recipe left to apply to: ERROR: No recipes in default available for: .../recipes-devtools/cargo/cargo-cross-canadian_%.bbappend Move the backported rust, cargo and librsvg recipes to dynamic-layers/no-lts-rust-mixin and include them only when the lts-rust-mixin collection is absent, so builds without the mixin are unchanged. Make the cargo requires relative to the recipe, as a BBPATH-relative path would now resolve to the OE-Core files. Signed-off-by: Luciano Dittgen --- conf/layer.conf | 6 ++++++ .../recipes-devtools}/cargo/cargo-cross-canadian.inc | 0 .../recipes-devtools}/cargo/cargo-cross-canadian_%.bbappend | 0 .../no-lts-rust-mixin/recipes-devtools}/cargo/cargo.inc | 0 .../recipes-devtools/cargo/cargo_1.65.0.bb | 5 +++++ .../no-lts-rust-mixin/recipes-devtools}/rust/README-rust.md | 0 .../recipes-devtools}/rust/files/target-rust-ccld.c | 0 .../no-lts-rust-mixin/recipes-devtools}/rust/libstd-rs.inc | 0 .../recipes-devtools}/rust/libstd-rs_1.65.0.bb | 0 .../recipes-devtools}/rust/rust-cross-canadian.inc | 0 .../recipes-devtools}/rust/rust-cross-canadian_1.65.0.bb | 0 .../no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm.inc | 0 ...mMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch | 0 .../0002-llvm-allow-env-override-of-exe-path.patch | 0 .../rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch | 0 .../recipes-devtools}/rust/rust-llvm_1.65.0.bb | 0 .../recipes-devtools}/rust/rust-snapshot.inc | 0 .../recipes-devtools}/rust/rust-source.inc | 0 .../recipes-devtools}/rust/rust-target.inc | 0 .../no-lts-rust-mixin/recipes-devtools}/rust/rust.inc | 0 .../rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch | 0 .../recipes-devtools}/rust/rust/crossbeam_atomic.patch | 0 .../recipes-devtools}/rust/rust/hardcodepaths.patch | 0 .../no-lts-rust-mixin/recipes-devtools}/rust/rust_1.65.0.bb | 0 ...kefile.am-pass-rust-target-to-cargo-also-when-not-.patch | 0 ...stem-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch | 0 .../recipes-staging}/librsvg/librsvg_2.54.5.bb | 0 recipes-devtools/cargo/cargo_1.65.0.bb | 5 ----- 28 files changed, 11 insertions(+), 5 deletions(-) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/cargo/cargo-cross-canadian.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/cargo/cargo-cross-canadian_%.bbappend (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/cargo/cargo.inc (100%) create mode 100644 dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo_1.65.0.bb rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/README-rust.md (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/files/target-rust-ccld.c (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/libstd-rs.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/libstd-rs_1.65.0.bb (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-cross-canadian.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-cross-canadian_1.65.0.bb (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-llvm_1.65.0.bb (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-snapshot.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-source.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust-target.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust.inc (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust/crossbeam_atomic.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust/hardcodepaths.patch (100%) rename {recipes-devtools => dynamic-layers/no-lts-rust-mixin/recipes-devtools}/rust/rust_1.65.0.bb (100%) rename {recipes-staging => dynamic-layers/no-lts-rust-mixin/recipes-staging}/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch (100%) rename {recipes-staging => dynamic-layers/no-lts-rust-mixin/recipes-staging}/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch (100%) rename {recipes-staging => dynamic-layers/no-lts-rust-mixin/recipes-staging}/librsvg/librsvg_2.54.5.bb (100%) delete mode 100644 recipes-devtools/cargo/cargo_1.65.0.bb diff --git a/conf/layer.conf b/conf/layer.conf index 92d3739..7961a52 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -23,3 +23,9 @@ BBFILES_DYNAMIC += " \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ " + +# Rust 1.65 backport, unless meta-lts-mixins provides a newer Rust +BBFILES_DYNAMIC += " \ + !lts-rust-mixin:${LAYERDIR}/dynamic-layers/no-lts-rust-mixin/*/*/*.bb \ + !lts-rust-mixin:${LAYERDIR}/dynamic-layers/no-lts-rust-mixin/*/*/*.bbappend \ +" diff --git a/recipes-devtools/cargo/cargo-cross-canadian.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo-cross-canadian.inc similarity index 100% rename from recipes-devtools/cargo/cargo-cross-canadian.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo-cross-canadian.inc diff --git a/recipes-devtools/cargo/cargo-cross-canadian_%.bbappend b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo-cross-canadian_%.bbappend similarity index 100% rename from recipes-devtools/cargo/cargo-cross-canadian_%.bbappend rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo-cross-canadian_%.bbappend diff --git a/recipes-devtools/cargo/cargo.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo.inc similarity index 100% rename from recipes-devtools/cargo/cargo.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo.inc diff --git a/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo_1.65.0.bb b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo_1.65.0.bb new file mode 100644 index 0000000..abd6bf4 --- /dev/null +++ b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/cargo/cargo_1.65.0.bb @@ -0,0 +1,5 @@ +require ../rust/rust-source.inc +require ../rust/rust-snapshot.inc +require cargo.inc +BBCLASSEXTEND = "native nativesdk" +RUSTLIB_DEP:class-nativesdk = "" \ No newline at end of file diff --git a/recipes-devtools/rust/README-rust.md b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/README-rust.md similarity index 100% rename from recipes-devtools/rust/README-rust.md rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/README-rust.md diff --git a/recipes-devtools/rust/files/target-rust-ccld.c b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/files/target-rust-ccld.c similarity index 100% rename from recipes-devtools/rust/files/target-rust-ccld.c rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/files/target-rust-ccld.c diff --git a/recipes-devtools/rust/libstd-rs.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/libstd-rs.inc similarity index 100% rename from recipes-devtools/rust/libstd-rs.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/libstd-rs.inc diff --git a/recipes-devtools/rust/libstd-rs_1.65.0.bb b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/libstd-rs_1.65.0.bb similarity index 100% rename from recipes-devtools/rust/libstd-rs_1.65.0.bb rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/libstd-rs_1.65.0.bb diff --git a/recipes-devtools/rust/rust-cross-canadian.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-cross-canadian.inc similarity index 100% rename from recipes-devtools/rust/rust-cross-canadian.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-cross-canadian.inc diff --git a/recipes-devtools/rust/rust-cross-canadian_1.65.0.bb b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-cross-canadian_1.65.0.bb similarity index 100% rename from recipes-devtools/rust/rust-cross-canadian_1.65.0.bb rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-cross-canadian_1.65.0.bb diff --git a/recipes-devtools/rust/rust-llvm.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm.inc similarity index 100% rename from recipes-devtools/rust/rust-llvm.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm.inc diff --git a/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch similarity index 100% rename from recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch diff --git a/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch similarity index 100% rename from recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch diff --git a/recipes-devtools/rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch similarity index 100% rename from recipes-devtools/rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm/0003-llvm-fix-include-benchmarks.patch diff --git a/recipes-devtools/rust/rust-llvm_1.65.0.bb b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm_1.65.0.bb similarity index 100% rename from recipes-devtools/rust/rust-llvm_1.65.0.bb rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-llvm_1.65.0.bb diff --git a/recipes-devtools/rust/rust-snapshot.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-snapshot.inc similarity index 100% rename from recipes-devtools/rust/rust-snapshot.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-snapshot.inc diff --git a/recipes-devtools/rust/rust-source.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-source.inc similarity index 100% rename from recipes-devtools/rust/rust-source.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-source.inc diff --git a/recipes-devtools/rust/rust-target.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-target.inc similarity index 100% rename from recipes-devtools/rust/rust-target.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust-target.inc diff --git a/recipes-devtools/rust/rust.inc b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust.inc similarity index 100% rename from recipes-devtools/rust/rust.inc rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust.inc diff --git a/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch similarity index 100% rename from recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch diff --git a/recipes-devtools/rust/rust/crossbeam_atomic.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/crossbeam_atomic.patch similarity index 100% rename from recipes-devtools/rust/rust/crossbeam_atomic.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/crossbeam_atomic.patch diff --git a/recipes-devtools/rust/rust/hardcodepaths.patch b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/hardcodepaths.patch similarity index 100% rename from recipes-devtools/rust/rust/hardcodepaths.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust/hardcodepaths.patch diff --git a/recipes-devtools/rust/rust_1.65.0.bb b/dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust_1.65.0.bb similarity index 100% rename from recipes-devtools/rust/rust_1.65.0.bb rename to dynamic-layers/no-lts-rust-mixin/recipes-devtools/rust/rust_1.65.0.bb diff --git a/recipes-staging/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch b/dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch similarity index 100% rename from recipes-staging/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch diff --git a/recipes-staging/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch b/dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch similarity index 100% rename from recipes-staging/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch rename to dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch diff --git a/recipes-staging/librsvg/librsvg_2.54.5.bb b/dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg_2.54.5.bb similarity index 100% rename from recipes-staging/librsvg/librsvg_2.54.5.bb rename to dynamic-layers/no-lts-rust-mixin/recipes-staging/librsvg/librsvg_2.54.5.bb diff --git a/recipes-devtools/cargo/cargo_1.65.0.bb b/recipes-devtools/cargo/cargo_1.65.0.bb deleted file mode 100644 index 5c85277..0000000 --- a/recipes-devtools/cargo/cargo_1.65.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/rust/rust-source.inc -require recipes-devtools/rust/rust-snapshot.inc -require cargo.inc -BBCLASSEXTEND = "native nativesdk" -RUSTLIB_DEP:class-nativesdk = "" \ No newline at end of file