rust plugin: refactor to use the latest rustup
Metadata
Current evaluation
Merged PR #2434 in commit 3e821ca8d, updating the Rust plugin for current rustup, sharing toolchain storage, and adopting .cargo/config.
Resolution: closed resolved
Reason: PR #2434 was approved and merged as commit 3e821ca8d. It removed obsolete rustup installer options, added channel and revision qualifiers, and shared rustup and Cargo storage across parts.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- Latest versions of rustup removed --prefix, --disable-sudo and --save.
- Using command qualifiers for channels and revisions.
- A global rustup and cargo area is now in place for multiple parts
to reuse.
- Removed the test target as it was inconsitent with other plugins.
- Made use of .cargo/config for consistency across execution.
LP: #1809259
LP: #1803466
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [ ] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2434 in commit 3e821ca8d, updating the Rust plugin for current rustup, sharing toolchain storage, and adopting .cargo/config. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2434 in commit 3e821ca8d, updating the Rust plugin for current rustup, replacing obsolete options, sharing rustup/Cargo storage, and standardizing Cargo configuration. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2434 (commit 3e821ca8d), modernizing the Rust plugin for current rustup, replacing obsolete options, and sharing rustup/Cargo storage across parts. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #2434 (commit 3e821ca8d): refactored the Rust plugin for current rustup, replacing removed flags with qualifiers and sharing rustup/cargo storage. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #2434, updating the Rust plugin for current rustup, removing deprecated flags, adopting channel/revision qualifiers, sharing rustup/cargo storage, and removing the test target. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a Rust plugin refactor to support the latest rustup. Changes remove deprecated flags, establish a shared rustup and cargo area for multiple parts, and standardize execution via .cargo/config. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2431 rust plugin: update to use latest rustup command options | snapcraft | merged | Merged PR #2431 updated the Rust plugin to use current rustup options instead of deprecated commands; landed as commit 3e821ca8d. | |
| #1467 rust plugin: new rustup | snapcraft | closed | Updated the Rust plugin’s outdated rustup download link via merged PR #2438 (commit ea6caa72b), resolving LP bug #1662960. | |
| #2438 rust plugin: new link for rustup | snapcraft | merged | Merged PR #2438 (commit ea6caa72b) updating the Rust plugin's rustup download link, fixing LP bug #1662960 where the plugin used an outdated rustup URL. | |
| #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. | |
| #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. | |
| #2613 rust plugin: use rust-toolchain by default if present | snapcraft | merged | Merged PR #2613 in commit 374f042a5, making the Rust plugin use a source rust-toolchain file by default and fall back to stable only when no explicit setting is supplied. | |
| #2849 rust plugin: split RUSTUP_HOME and CARGO_HOME | snapcraft | merged | Merged PR #2849 (commit 0b2fdb72b) separates RUSTUP_HOME (~/.rustup) from CARGO_HOME (~/.cargo), avoiding shared-directory side effects. | |
| #1809259 Rust plugin broke in the last few days | snapcraft (launchpad) | closed | Merged PR #2431 updated the Rust plugin to use current rustup options, fixing builds that failed on the obsolete --prefix argument. | |
| #1562 Record rust versions | snapcraft | merged | Merged as commit 1ddc34f19, updating the Rust plugin to record rustup, rustc, and Cargo versions; this completed the versioning portion of #1475. | |
| #2767 rust plugin: add rustup profile | snapcraft | merged | Merged PR #2767 (commit 58b58527c) as "rust plugin: set rustup profile to minimal". The original conditional _get_rustup_profile idea was simplified during review to unconditionally use rustup's minimal profile, fixing build.snapcraft.io failures. |