Manifest issue with "preview" components
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
I was asked to file an issue following a Zulip question.
I was able to install the llvm-tools component. Following some confusion, it turns out that this should not work since it should only be installable as llvm-tools-preview.
Following some research, https://static.rust-lang.org/dist/2023-01-26/channel-rust-1.67.toml contains the following section (that https://static.rust-lang.org/dist/2022-12-15/channel-rust-1.66.toml did not):
[renames.llvm-tools]
to = "llvm-tools-preview"
I think the issue arose with https://github.com/rust-lang/rust/commit/a3dd94e702f2d640f5f84f9f43f25fd79dfeae95 and https://github.com/rust-lang/rust/commit/494cb47852ef7bb2cc14f1f440d77722bf0f759b where I think there was a conflation of components that had preview status (needing a rename section) and components that currently have preview status (that should not have a rename). Looking at pkgtype! in https://github.com/rust-lang/rust/blob/master/src/tools/build-manifest/src/versions.rs#L41 there are I think two distinct groups of components with preview=true:
rls,rust-analyzer,clippyandrustfmtwhich are stable (and probably were historically previews).llvm-tools,miri,rust-docs-jsonandrustc-codegen-craneliftwhich are not stable.
The main issue is that the components of the second group should currently only be added with their -preview suffix but currently can be added without the suffix.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/tools/build-manifest/src/versions.rs at pkgtype! and compare the renames sections in the referenced channel-rust-1.67.toml and channel-rust-1.66.toml manifests. Trace how preview components are named and renamed, then verify that llvm-tools, miri, rust-docs-json, and rustc-codegen-cranelift require the -preview suffix while historically stable components retain their expected names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100