rust_plugin: multiple fixes
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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 issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #570 rust_plugin: multiple fixes (#560) | craft-parts | merged | Merged as #560. The rust_plugin was updated to remove compiler plugins from final Snap packages and eliminate a redundant channel override causing type-checking errors. Approved by one reviewer and passed CI checks. | |
| #2538 rust plugin: fix usage of rust-channel | snapcraft | merged | Merged PR #2538 fixes the Rust plugin by replacing the deprecated rustup.sh channel argument with rustup toolchain setup. Approved, passed CI, and merged to master. | |
| #2431 rust plugin: update to use latest rustup command options | snapcraft | merged | Merged update to the Rust plugin replacing deprecated rustup command options with current equivalents. Approved by a reviewer, passed CI, modified five files, and maintained 94.5% test coverage. | |
| #2434 rust plugin: refactor to use the latest rustup | snapcraft | merged | Merged Rust plugin refactor for latest rustup. Removed deprecated flags, added command qualifiers, established shared rustup/cargo directory, and standardized config. Approved and passed CI. | |
| #530 plugins/rust_plugin: rewrite the plugin to improve UX | craft-parts | merged | Merged a Rust plugin rewrite improving UX with default Rustup, LTO, toolchain version, and feature toggles. Failing tests for Ubuntu 20.04 Chisel support were resolved via a separate PR and rebasing prior to merge. | |
| #2613 rust plugin: use rust-toolchain by default if present | snapcraft | merged | Merged. The Rust plugin now defaults to a rust-toolchain file if present, falling back to the stable channel. Approved by a reviewer and passed CI checks before merge. | |
| #2438 rust plugin: new link for rustup | snapcraft | merged | Merged into master after approval and passing CI. Updated the rust plugin to use a new rustup link, addressing LP #1662960. Modified 3 files with 11 additions and 6 deletions. | |
| #2158 rust plugin: fix cargo builds and run tests | snapcraft | closed | Changes to fix cargo builds and add tests to the Rust plugin were closed and superseded by PR #2170 after the author discovered cargo test conflicts with cross-compilation, requiring a rework. | |
| #2170 rust plugin: fix cargo builds and run tests | snapcraft | merged | Merged fixes for cargo builds in the Rust plugin along with new tests. The change updated two files with 41 additions and 10 deletions, achieving 100% diff coverage. | |
| #3061 plugins: introduce v2.RustPlugin | snapcraft | merged | Merged introduction of v2.RustPlugin to the plugins module. Approved by one reviewer. Updated 26 files with 275 additions and 76 deletions, successfully integrating the new Rust plugin version into the codebase. |