← Back to issue list

rust_plugin: multiple fixes

View original Github issue

Metadata

Project
craft-parts
Number
#560
Type
pull request
State
merged
Author
liushuyu
Labels
—
Created
Updated
Closed

Current evaluation

Merged rust_plugin fixes: removed typing checks around the rust_channel override and added detection/removal of installed compiler plugins via the .data.rel.ro symbol. Squash-merged as fbefe6b8; fixes #559.

Resolution: closed resolved

Reason: PR #560 was approved and squash-merged into main as commit fbefe6b8 ("rust_plugin: multiple fixes (#560)"), with a follow-up backport commit 8d87e98e (#570) on the 2.x branch. It fixes issue #559's rust-deps/rust-channel validation failure and adds compiler-plugin cleanup in the staging area.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- This pull request fixes the following issues: - Typing checking issues with the `rust_channel` override. This is unnecessary because some part of the configuration check is done in the validation step, making it impossible to set both `rust-deps` and `rust-channel` to a valid value (which will install two different Rust toolchains). - Properly removes the compiler plugins. Rust plugin can now identify and remove the compiler plugins installed in the final staging area. Rust compiler will embed two different metadata into the compiler plugin. The craft-parts Rust plugin recognizes the compiler plugin by checking the dynamic symbol inserted into the `.data.rel.ro` section. --- This pull request fixes #559.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged rust_plugin fixes: removed typing checks around the rust_channel override and added detection/removal of installed compiler plugins via the .data.rel.ro symbol. Squash-merged as fbefe6b8; fixes #559.
stealth/space-bunny-alpha — closed resolved Merged in canonical/craft-parts#560, fixing #559 by correcting rust_channel typing checks and enabling compiler-plugin detection and removal in the final staging area.
qwen/qwen3.6-35b-a3b — — Merged Rust plugin fixes resolving issue #559. Changes remove unnecessary rust_channel override typing checks and improve compiler plugin identification and removal. Approved by reviewers and merged despite an unrelated CI pylint failure.
qwen3.6-35b-a3b-mtp-q6 — — Merged Rust plugin fixes resolving issue #559. Corrects rust_channel typing checks and improves compiler plugin removal by detecting dynamic symbols in the data.rel.ro section. Squash merged October 24, 2023, after unrelated CI linting failures were dismissed.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: craft-parts#559 (confidence 95%)

    The PR body explicitly states it fixes #559 (rust-deps part dependency validation failing); that issue is now closed.

  • Related To: craft-parts#570 (confidence 70%)

    Commit 8d87e98e carries the same 'rust_plugin: multiple fixes (#560)' title, indicating the change was also backported/forward-ported to another branch.

  • Related To: craft-parts#562 (confidence 65%)

    Maintainer lengau attributed the unrelated pylint CI failure blocking this PR to #562 (remove pylint in favour of ruff), later fixed by PR #580.

Related issues

Issue Project State Summary Similarity
#570 rust_plugin: multiple fixes (#560) craft-parts merged Merged backport #570 (8d87e98e) of #560: the Rust plugin now removes compiler plugins from final Snaps and drops a redundant channel override.
85%
#2538 rust plugin: fix usage of rust-channel snapcraft merged Merged PR #2538 fixed Rust plugin toolchain setup by using rustup instead of the obsolete rustup.sh --channel argument; resolving commit: 4eb089546.
77%
#530 plugins/rust_plugin: rewrite the plugin to improve UX craft-parts merged Merged via commit 939e6d77, rewriting the Rust plugin to install Rustup by default and adding LTO, toolchain-channel, and default-feature controls.
72%
#2434 rust plugin: refactor to use the latest rustup snapcraft merged Merged PR #2434 in commit 3e821ca8d, updating the Rust plugin for current rustup, sharing toolchain storage, and adopting .cargo/config.
72%
#1774 fix(plugins/rust): don't require rustup when rust-deps is defined craft-parts merged Fixed a regression in the Rust plugin where rust-deps provisioning failed without rust-channel: none by removing the unnecessary rustup requirement. Merged in #1774.
71%
#579 Add new plugin: rust snapcraft merged Merged PR #579 as commit 24f1def33, adding Snapcraft's Rust plugin, resolving conflicts, and updating plugin-list test expectations.
71%
#2170 rust plugin: fix cargo builds and run tests snapcraft merged Merged as commit 4f80a1051, fixing Rust plugin Cargo builds, skipping tests during cross-compilation, and adding tests.
71%
#3061 plugins: introduce v2.RustPlugin snapcraft merged Merged PR #3061 as commit e106d6eb7, introducing v2.RustPlugin and integrating it across 26 files after maintainer approval.
71%
#952 rust plugin: add features for conditional compilation snapcraft closed Conditional Rust compilation support was superseded by merged PR #1029, which added tests and landed as commit 5e6d91fa3.
70%
#2158 rust plugin: fix cargo builds and run tests snapcraft closed PR closed as superseded: the rust-plugin-improvements branch was deleted and the work was reworked and merged as snapcore/snapcraft#2170 (commit 4f80a1051) after cargo test broke cross-compilation.
70%