Skip to content

conf/layer.conf: Skip the Rust backport when the LTS Rust mixin is used - #133

Merged
otavio merged 1 commit into
OSSystemsEmbeddedLinux:kirkstonefrom
lucianogdittgen:kirkstone-lts-rust-mixin
Oct 21, 2026
Merged

otavio merged 1 commit into
OSSystemsEmbeddedLinux:kirkstonefrom
lucianogdittgen:kirkstone-lts-rust-mixin

Conversation

@lucianogdittgen

Copy link
Copy Markdown
Contributor

The kirkstone/rust branch of meta-lts-mixins provides Rust 1.92 and masks the OE-Core rust and cargo recipes. With it in the build, the Rust 1.65 backport in this layer conflicts with it, and parsing fails:

ERROR: No recipes in default available for:
  .../meta-ossystems-base/recipes-devtools/cargo/cargo-cross-canadian_%.bbappend

This is needed for updatehub 2.2.1 and later, which require Rust 1.88 (UpdateHub/meta-updatehub kirkstone backport).

Changes

  • Move the backported rust, cargo and librsvg recipes to dynamic-layers/no-lts-rust-mixin/.
  • Include them through BBFILES_DYNAMIC with a !lts-rust-mixin: prefix, so they're used only when the mixin is absent. Builds without the mixin are unchanged.
  • Make the two require recipes-devtools/rust/... lines in cargo_1.65.0.bb relative to the recipe. After the move, the BBPATH lookup would otherwise resolve to the OE-Core 1.59 files.

The Rust classes and RUSTVERSION ?= "1.65%" in oel.inc stay as they are. When the mixin is present, its classes come first in BBPATH and its layer.conf sets RUSTVERSION first.

Testing

Not build-tested yet. Please check that the layer parses both with and without meta-lts-mixins before merging.

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 <luciano.dittgen@ossystems.com.br>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants