diff options
| author | bors <bors@rust-lang.org> | 2024-02-19 11:28:34 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-02-19 11:28:34 +0000 |
| commit | 43d3470f11a18d7bfa0b288954bf327cbf7549ab (patch) | |
| tree | 53910a2b34b48f273ac3bb9f1756627ee1c06e0a | |
| parent | eb1f279477d81e2b9a12158c2b8837e8964e0df1 (diff) | |
| parent | 435e1c6dc5959d8987ab5647bf868bfdc4adca31 (diff) | |
| download | rust-43d3470f11a18d7bfa0b288954bf327cbf7549ab.tar.gz rust-43d3470f11a18d7bfa0b288954bf327cbf7549ab.zip | |
Auto merge of #121079 - onur-ozkan:install-conflicts, r=albertlarsan68
distribute tool documentations and avoid file conflicts on `x install` I suggest reading commits one-by-one with the descriptions for more context about the changes. Fixes #115213
| -rw-r--r-- | src/bootstrap/src/core/build_steps/dist.rs | 3 | ||||
| -rw-r--r-- | src/bootstrap/src/core/build_steps/install.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/src/core/builder.rs | 6 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs index 6d56492e41b..750d3095ff6 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs @@ -398,10 +398,11 @@ impl Step for Rustc { let host = compiler.host; let src = builder.sysroot(compiler); - // Copy rustc/rustdoc binaries + // Copy rustc binary t!(fs::create_dir_all(image.join("bin"))); builder.cp_r(&src.join("bin"), &image.join("bin")); + // If enabled, copy rustdoc binary if builder .config .tools diff --git a/src/bootstrap/src/core/build_steps/install.rs b/src/bootstrap/src/core/build_steps/install.rs index 1c565e7f7cc..0225f8f24a5 100644 --- a/src/bootstrap/src/core/build_steps/install.rs +++ b/src/bootstrap/src/core/build_steps/install.rs @@ -95,7 +95,7 @@ fn install_sh( } let datadir = prefix.join(default_path(&builder.config.datadir, "share")); - let docdir = prefix.join(default_path(&builder.config.docdir, "share/doc/rust")); + let docdir = prefix.join(default_path(&builder.config.docdir, &format!("share/doc/{package}"))); let mandir = prefix.join(default_path(&builder.config.mandir, "share/man")); let libdir = prefix.join(default_path(&builder.config.libdir, "lib")); let bindir = prefix.join(&builder.config.bindir); // Default in config.rs diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs index d993e4c44d4..50264ca3b3a 100644 --- a/src/bootstrap/src/core/builder.rs +++ b/src/bootstrap/src/core/builder.rs @@ -858,6 +858,11 @@ impl<'a> Builder<'a> { Kind::Install => describe!( install::Docs, install::Std, + // During the Rust compiler (rustc) installation process, we copy the entire sysroot binary + // path (build/host/stage2/bin). Since the building tools also make their copy in the sysroot + // binary path, we must install rustc before the tools. Otherwise, the rust-installer will + // install the same binaries twice for each tool, leaving backup files (*.old) as a result. + install::Rustc, install::Cargo, install::RustAnalyzer, install::Rustfmt, @@ -866,7 +871,6 @@ impl<'a> Builder<'a> { install::Miri, install::LlvmTools, install::Src, - install::Rustc, ), Kind::Run => describe!( run::ExpandYamlAnchors, |
