Skip to content

fix(rust): Fetch rust 1.94 from a later snapshot than the default 1.93#16244

Open
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/rust-pin
Open

fix(rust): Fetch rust 1.94 from a later snapshot than the default 1.93#16244
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/rust-pin

Conversation

@binujp
Copy link
Contributor

@binujp binujp commented Mar 20, 2026

Rust build has a bootstrap stage on some architecture which demand some version of rust compiler be already available. For the version of rust package we have pinned, that version is 1.93. 1.93 is no longer available from Fed43 repo. To fix this we fetch from a later snapshot of rust which works on 1.94 version for bootstrap build.

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

What does the PR accomplish, why was it needed?

Change Log
  • Change
  • Change
  • Change
Does this affect the toolchain?

YES/NO

Associated issues
  • #xxxx
Links to CVEs
Test Methodology
  • Pipeline build id: xxxx

Rust build has a bootstrap stage on some architecture which demand
some version of rust compiler be already available. For the version of
rust package we have pinned, that version is 1.93. 1.93 is no longer
available from Fed43 repo. To fix this we fetch from a later snapshot
of rust which works on 1.94 version for bootstrap build.
Copilot AI review requested due to automatic review settings March 20, 2026 13:57
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Pins the rust component’s upstream spec source to a Fedora 43 snapshot so the bootstrap compiler requirements align with what’s still available in Fedora repos (moving from Rust 1.93-era bootstrap to a 1.94-era snapshot), and removes the now-customized component from the “no per-component modifications” list.

Changes:

  • Add base/comps/rust/rust.comp.toml to pin rust to a Fedora 43 snapshot (2026-03-10T00:00:00-08:00).
  • Remove [components.rust] from base/comps/components.toml since it’s no longer “unmodified Fedora import”.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
base/comps/rust/rust.comp.toml Introduces a per-component snapshot pin for the upstream Rust spec to pick up the newer bootstrap expectations.
base/comps/components.toml Removes rust from the unmodified component list to reflect the new customization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,4 @@
[components.rust]
# Fedora repo does not have 1.93 which the spec gets pinned to. Snapshot from a
# later version to pickup a later version - 1.94, which is available.
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The snapshot pin here is hard to validate/maintain without a concrete reference. Please add a short note (and ideally a URL) pointing to the Fedora rust f43 dist-git commit/NVR change that moved the bootstrap compiler requirement from 1.93 to 1.94, plus a TODO/criteria for when this snapshot pin can be removed (e.g., once the distro default snapshot/toolchain updates).

Suggested change
# later version to pickup a later version - 1.94, which is available.
# later version to pickup a later version - 1.94, which is available.
# Reference: Fedora rust f43 dist-git raised the bootstrap compiler requirement
# to 1.94 during the 1.94 toolchain rebase; see the f43 branch history:
# https://src.fedoraproject.org/rpms/rust/commits/f43
# TODO: Drop this explicit snapshot pin once the default Fedora 43 rust
# snapshot/toolchain tracked in azurelinux.distro.toml already requires a
# bootstrap compiler >= 1.94, so this override no longer changes the effective
# toolchain version.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,4 @@
[components.rust]
# Fedora repo does not have 1.93 which the spec gets pinned to. Snapshot from a
# later version to pickup a later version - 1.94, which is available.
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo/grammar in the comment: "to pickup" should be "to pick up".

Suggested change
# later version to pickup a later version - 1.94, which is available.
# later version to pick up a later version - 1.94, which is available.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants