improve the way bootstrap handles rustlib components by onur-ozkan · Pull Request #127188 · rust-lang/rust

@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 30, 2024

@onur-ozkan

When CI rustc is enabled, bootstrap tries to symlink the rust source (project root)
into target sysroot right before copying it from the CI rustc's sysroot. This becomes
a problem in CI builders (which we currently don't see because they don't use CI rustc)
because the copying part will fail as they run on read-only mode.

This change fixes the problem by copying `rustc-src` from the CI rustc sysroot and only symlinking
`rustc-src` from the rust source when download-rustc is not enabled.

Signed-off-by: onur-ozkan <work@onurozkan.dev>

@onur-ozkan

Signed-off-by: onur-ozkan <work@onurozkan.dev>

@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

Jul 1, 2024

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request

Jul 1, 2024
 improve the way bootstrap handles rustlib components

When CI rustc is enabled, bootstrap tries to symlink the rust source (project root) into target sysroot right before copying it from the CI rustc's sysroot. This becomes a problem in CI builders (which we currently don't see because they don't use CI rustc) because the copying part will fail as [they run on read-only mode](https://github.com/rust-lang/rust/blob/ef3d6fd7002500af0a985f70d3ac5152623c1396/src/ci/docker/run.sh#L233).

This change fixes the problem by copying `rustc-src` from the CI rustc sysroot and only symlinking `rustc-src` from the rust source when download-rustc is not enabled.

r? `@Kobzol` (we talked about this already on Zulip, he knows the context)

Blocker for rust-lang#122709

bors added a commit to rust-lang-ci/rust that referenced this pull request

Jul 1, 2024
…llaumeGomez

Rollup of 7 pull requests

Successful merges:

 - rust-lang#126753 (Add nightly style guide section for `precise_capturing` `use<>` syntax)
 - rust-lang#126880 (Migrate `volatile-intrinsics`, `weird-output-filenames`, `wasm-override-linker`, `wasm-exceptions-nostd` to `rmake`)
 - rust-lang#126941 (Migrate `run-make/llvm-ident` to `rmake.rs`)
 - rust-lang#127128 (Stabilize `duration_abs_diff`)
 - rust-lang#127129 (Use full expr span for return suggestion on type error/ambiguity)
 - rust-lang#127188 ( improve the way bootstrap handles rustlib components)
 - rust-lang#127201 (Improve run-make-support API)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Jul 1, 2024
…llaumeGomez

Rollup of 8 pull requests

Successful merges:

 - rust-lang#126732 (Stabilize `PanicInfo::message()` and `PanicMessage`)
 - rust-lang#126753 (Add nightly style guide section for `precise_capturing` `use<>` syntax)
 - rust-lang#126832 (linker: Refactor interface for passing arguments to linker)
 - rust-lang#126880 (Migrate `volatile-intrinsics`, `weird-output-filenames`, `wasm-override-linker`, `wasm-exceptions-nostd` to `rmake`)
 - rust-lang#127128 (Stabilize `duration_abs_diff`)
 - rust-lang#127129 (Use full expr span for return suggestion on type error/ambiguity)
 - rust-lang#127188 ( improve the way bootstrap handles rustlib components)
 - rust-lang#127201 (Improve run-make-support API)

r? `@ghost`
`@rustbot` modify labels: rollup

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Jul 1, 2024
Rollup merge of rust-lang#127188 - onur-ozkan:rustc-src-fix, r=Kobzol

 improve the way bootstrap handles rustlib components

When CI rustc is enabled, bootstrap tries to symlink the rust source (project root) into target sysroot right before copying it from the CI rustc's sysroot. This becomes a problem in CI builders (which we currently don't see because they don't use CI rustc) because the copying part will fail as [they run on read-only mode](https://github.com/rust-lang/rust/blob/ef3d6fd7002500af0a985f70d3ac5152623c1396/src/ci/docker/run.sh#L233).

This change fixes the problem by copying `rustc-src` from the CI rustc sysroot and only symlinking `rustc-src` from the rust source when download-rustc is not enabled.

r? ``@Kobzol`` (we talked about this already on Zulip, he knows the context)

Blocker for rust-lang#122709

onur-ozkan added a commit to onur-ozkan/rust that referenced this pull request

Aug 20, 2024
Since rust-lang#127188, copying files from `.rustc-dev-contents`
regressed rust-lang#108767 again. Since `rustc-src` is already
included in the CI rustc sysroot, we don't need to copy these files to have `rustc-src` component.

Signed-off-by: onur-ozkan <work@onurozkan.dev>

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Sep 3, 2024
…, r=Kobzol

don't copy `.rustc-dev-contents` from CI rustc

Since rust-lang#127188, copying files from `.rustc-dev-contents` regressed rust-lang#108767 again. Since `rustc-src` is already included in the CI rustc sysroot, we don't need to copy these files to have `rustc-src` component.

Blocker for rust-lang#122709

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Sep 3, 2024
Rollup merge of rust-lang#129311 - onur-ozkan:multiple-candidates-fix, r=Kobzol

don't copy `.rustc-dev-contents` from CI rustc

Since rust-lang#127188, copying files from `.rustc-dev-contents` regressed rust-lang#108767 again. Since `rustc-src` is already included in the CI rustc sysroot, we don't need to copy these files to have `rustc-src` component.

Blocker for rust-lang#122709