Skip to content

bootstrap: don't symlink source dir into stage0 sysroot #142000

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 4, 2025

Conversation

lambdageek
Copy link
Contributor

@lambdageek lambdageek commented Jun 4, 2025

In StdLink::run we subsequently recursively copy the initial sysroot lib directory into the stage0-sysroot lib directory. If the initial sysroot is a toolchain that includes the rust-src component (in lib/rustlib/src/rust), if we add this symlink, that recursive copy will overwrite the repo sources with the toolchain's sources.

Fixes #141991

@rustbot
Copy link
Collaborator

rustbot commented Jun 4, 2025

r? @Kobzol

rustbot has assigned @Kobzol.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Jun 4, 2025
@onur-ozkan
Copy link
Member

r? onur-ozkan

@rustbot rustbot assigned onur-ozkan and unassigned Kobzol Jun 4, 2025
In StdLink::run we subsequently recursively copy the initial sysroot
lib directory into the stage0-sysroot lib directory.  If the initial
sysroot is a toolchain that includes the `rust-src` component (in
lib/rustlib/src/rust), if we add this symlink, that recursive copy
will overwrite the repo sources with the toolchain's sources.
@lambdageek lambdageek force-pushed the no-symlink-stage0 branch from 7261bfc to 556c096 Compare June 4, 2025 04:06
@onur-ozkan
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 4, 2025

📌 Commit 556c096 has been approved by onur-ozkan

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 4, 2025
@Kobzol
Copy link
Contributor

Kobzol commented Jun 4, 2025

@onur-ozkan Do we actually need stage0-sysroot for anything after the redesign?

bors added a commit that referenced this pull request Jun 4, 2025
Rollup of 8 pull requests

Successful merges:

 - #136687 (Improve the documentation of `Display` and `FromStr`, and their interactions)
 - #137306 (Remove `i128` and `u128` from `improper_ctypes_definitions`)
 - #138699 (build dist for x86_64-pc-solaris and sparcv9-sun-solaris)
 - #141250 (add s390x z17 target features)
 - #141467 (make `OsString::new` and `PathBuf::new` unstably const)
 - #141871 (index: add method for checking range on DenseBitSet)
 - #141888 (Use non-2015 edition paths in tests that do not test for their resolution)
 - #142000 (bootstrap: don't symlink source dir into stage0 sysroot)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit d31faac into rust-lang:master Jun 4, 2025
10 checks passed
rust-timer added a commit that referenced this pull request Jun 4, 2025
Rollup merge of #142000 - lambdageek:no-symlink-stage0, r=onur-ozkan

bootstrap: don't symlink source dir into stage0 sysroot

In StdLink::run we subsequently recursively copy the initial sysroot lib directory into the stage0-sysroot lib directory.  If the initial sysroot is a toolchain that includes the `rust-src` component (in lib/rustlib/src/rust), if we add this symlink, that recursive copy will overwrite the repo sources with the toolchain's sources.

Fixes #141991
@rustbot rustbot added this to the 1.89.0 milestone Jun 4, 2025
@lambdageek lambdageek deleted the no-symlink-stage0 branch June 4, 2025 22:25
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jun 5, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang/rust#136687 (Improve the documentation of `Display` and `FromStr`, and their interactions)
 - rust-lang/rust#137306 (Remove `i128` and `u128` from `improper_ctypes_definitions`)
 - rust-lang/rust#138699 (build dist for x86_64-pc-solaris and sparcv9-sun-solaris)
 - rust-lang/rust#141250 (add s390x z17 target features)
 - rust-lang/rust#141467 (make `OsString::new` and `PathBuf::new` unstably const)
 - rust-lang/rust#141871 (index: add method for checking range on DenseBitSet)
 - rust-lang/rust#141888 (Use non-2015 edition paths in tests that do not test for their resolution)
 - rust-lang/rust#142000 (bootstrap: don't symlink source dir into stage0 sysroot)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bootstrap: using a toolchain that includes 'rust-src', ./x check leaves a dirty working tree, fails to build
5 participants