fix(rust): pin rust to a version available on fedora repo#16449
fix(rust): pin rust to a version available on fedora repo#16449christopherco merged 1 commit intotomls/base/mainfrom
Conversation
Fedora pushed out rust 1.94.1 and we had pinned to 1.94.0. Given 1.94.0-1 went out before this, the repo does not have 1.94 rpms anymore. We pin to 1.94.1 to make sure we have two upgrades before having to do this again.
There was a problem hiding this comment.
Pull request overview
Pins the rust component’s upstream Fedora spec source to a specific Fedora dist-git commit so the build uses a Rust version that’s still available in Fedora 43 repos (avoiding breakage when older Rust RPMs are garbage-collected).
Changes:
- Replace the Fedora snapshot-based spec pin with an
upstream-commitpin forrust. - Update the in-file rationale comment to reference the new pin intent/version.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Fedora repo does not host 1.93, which the spec gets pinned to. Fetch | ||
| # spec from a more recent commit to pickup version - 1.94.1. |
There was a problem hiding this comment.
When pinning a component via spec.upstream-commit, this repo’s guidance expects a reference link (e.g., Fedora dist-git commit URL) and an explicit TODO/exit condition for removing the pin once the default snapshot advances. Please add a comment like other pinned components (e.g., golang) with the Fedora commit URL for b431103e… and when/how to drop the override.
| # Fedora repo does not host 1.93, which the spec gets pinned to. Fetch | |
| # spec from a more recent commit to pickup version - 1.94.1. | |
| # Fedora 43's default imported snapshot is older than the rust spec we need here. | |
| # Pin to the newer Fedora dist-git commit that carries rust 1.94.1: | |
| # https://src.fedoraproject.org/rpms/rust/c/b431103e3e71d30dda680c95d2f5d4fe50003436 | |
| # TODO: Drop `upstream-commit` once the default Fedora 43 snapshot imported by this | |
| # repo advances to include this commit (or a newer rust spec with 1.94.1+), then | |
| # fall back to the normal upstream Fedora source selection. |
| # later version to pickup a later version - 1.94, which is available. | ||
| spec = { type = "upstream", upstream-distro = { name = "fedora", version = "43", snapshot = "2026-03-10T00:00:00-08:00" } } | ||
| # Fedora repo does not host 1.93, which the spec gets pinned to. Fetch | ||
| # spec from a more recent commit to pickup version - 1.94.1. |
There was a problem hiding this comment.
Minor grammar/wording: “pickup” should be “pick up” (e.g., “pick up version 1.94.1”).
| # spec from a more recent commit to pickup version - 1.94.1. | |
| # spec from a more recent commit to pick up version - 1.94.1. |
| # Fedora repo does not host 1.93, which the spec gets pinned to. Fetch | ||
| # spec from a more recent commit to pickup version - 1.94.1. |
There was a problem hiding this comment.
The PR description says we were previously pinned to Rust 1.94.0 and are moving to 1.94.1 due to Fedora repo availability, but the in-file comment focuses on 1.93 being unavailable. Please align the comment with the actual motivation (or update the PR description) so future readers understand why this upstream commit pin exists.
Fedora pushed out rust 1.94.1 and we had pinned to 1.94.0. Given 1.94.0-1 went out before this, the repo does not have 1.94 rpms anymore. We pin to 1.94.1 to make sure we have two upgrades before having to do this again.
Koji build is stuck on the nigtly build wall. Creating the PR to not loose track.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
What does the PR accomplish, why was it needed?
Change Log
Does this affect the toolchain?
YES/NO
Associated issues
Links to CVEs
Test Methodology