Skip to content

Commit 1e709fc

Browse files
committed
Don't use sanitize_sh with rust-installer
There's no shell interpreting the file paths under the new Rusty rust-installer, so we don't need to use `sanitize_sh` for it. Plus, the drive-letter transformation is actually harmful for the now-native Windows rust-installer to understand those paths.
1 parent 3d6ee0a commit 1e709fc

File tree

1 file changed

+40
-41
lines changed

1 file changed

+40
-41
lines changed

src/bootstrap/dist.rs

+40-41
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ pub fn docs(build: &Build, stage: u32, host: &str) {
7777
.arg("--product-name=Rust-Documentation")
7878
.arg("--rel-manifest-dir=rustlib")
7979
.arg("--success-message=Rust-documentation-is-installed.")
80-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
81-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
82-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
80+
.arg("--image-dir").arg(&image)
81+
.arg("--work-dir").arg(&tmpdir(build))
82+
.arg("--output-dir").arg(&distdir(build))
8383
.arg(format!("--package-name={}-{}", name, host))
8484
.arg("--component-name=rust-docs")
8585
.arg("--legacy-manifest-dirs=rustlib,cargo")
@@ -127,9 +127,9 @@ pub fn mingw(build: &Build, host: &str) {
127127
.arg("--product-name=Rust-MinGW")
128128
.arg("--rel-manifest-dir=rustlib")
129129
.arg("--success-message=Rust-MinGW-is-installed.")
130-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
131-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
132-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
130+
.arg("--image-dir").arg(&image)
131+
.arg("--work-dir").arg(&tmpdir(build))
132+
.arg("--output-dir").arg(&distdir(build))
133133
.arg(format!("--package-name={}-{}", name, host))
134134
.arg("--component-name=rust-mingw")
135135
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -193,10 +193,10 @@ pub fn rustc(build: &Build, stage: u32, host: &str) {
193193
.arg("--product-name=Rust")
194194
.arg("--rel-manifest-dir=rustlib")
195195
.arg("--success-message=Rust-is-ready-to-roll.")
196-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
197-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
198-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
199-
.arg(format!("--non-installed-overlay={}", sanitize_sh(&overlay)))
196+
.arg("--image-dir").arg(&image)
197+
.arg("--work-dir").arg(&tmpdir(build))
198+
.arg("--output-dir").arg(&distdir(build))
199+
.arg("--non-installed-overlay").arg(&overlay)
200200
.arg(format!("--package-name={}-{}", name, host))
201201
.arg("--component-name=rustc")
202202
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -303,9 +303,9 @@ pub fn std(build: &Build, compiler: &Compiler, target: &str) {
303303
.arg("--product-name=Rust")
304304
.arg("--rel-manifest-dir=rustlib")
305305
.arg("--success-message=std-is-standing-at-the-ready.")
306-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
307-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
308-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
306+
.arg("--image-dir").arg(&image)
307+
.arg("--work-dir").arg(&tmpdir(build))
308+
.arg("--output-dir").arg(&distdir(build))
309309
.arg(format!("--package-name={}-{}", name, target))
310310
.arg(format!("--component-name=rust-std-{}", target))
311311
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -359,9 +359,9 @@ pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
359359
.arg("--product-name=Rust")
360360
.arg("--rel-manifest-dir=rustlib")
361361
.arg("--success-message=save-analysis-saved.")
362-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
363-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
364-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
362+
.arg("--image-dir").arg(&image)
363+
.arg("--work-dir").arg(&tmpdir(build))
364+
.arg("--output-dir").arg(&distdir(build))
365365
.arg(format!("--package-name={}-{}", name, target))
366366
.arg(format!("--component-name=rust-analysis-{}", target))
367367
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -478,7 +478,7 @@ pub fn rust_src(build: &Build) {
478478
let mut cmd = rust_installer(build);
479479
cmd.arg("tarball")
480480
.arg("--input").arg(&plain_name)
481-
.arg("--output").arg(sanitize_sh(&tarball))
481+
.arg("--output").arg(&tarball)
482482
.arg("--work-dir=.")
483483
.current_dir(tmpdir(build));
484484
build.run(&mut cmd);
@@ -528,9 +528,9 @@ pub fn rust_src(build: &Build) {
528528
.arg("--product-name=Rust")
529529
.arg("--rel-manifest-dir=rustlib")
530530
.arg("--success-message=Awesome-Source.")
531-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
532-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
533-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
531+
.arg("--image-dir").arg(&image)
532+
.arg("--work-dir").arg(&tmpdir(build))
533+
.arg("--output-dir").arg(&distdir(build))
534534
.arg(format!("--package-name={}", name))
535535
.arg("--component-name=rust-src")
536536
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -629,10 +629,10 @@ pub fn cargo(build: &Build, stage: u32, target: &str) {
629629
.arg("--product-name=Rust")
630630
.arg("--rel-manifest-dir=rustlib")
631631
.arg("--success-message=Rust-is-ready-to-roll.")
632-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
633-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
634-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
635-
.arg(format!("--non-installed-overlay={}", sanitize_sh(&overlay)))
632+
.arg("--image-dir").arg(&image)
633+
.arg("--work-dir").arg(&tmpdir(build))
634+
.arg("--output-dir").arg(&distdir(build))
635+
.arg("--non-installed-overlay").arg(&overlay)
636636
.arg(format!("--package-name={}-{}", name, target))
637637
.arg("--component-name=cargo")
638638
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -678,10 +678,10 @@ pub fn rls(build: &Build, stage: u32, target: &str) {
678678
.arg("--product-name=Rust")
679679
.arg("--rel-manifest-dir=rustlib")
680680
.arg("--success-message=RLS-ready-to-serve.")
681-
.arg(format!("--image-dir={}", sanitize_sh(&image)))
682-
.arg(format!("--work-dir={}", sanitize_sh(&tmpdir(build))))
683-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
684-
.arg(format!("--non-installed-overlay={}", sanitize_sh(&overlay)))
681+
.arg("--image-dir").arg(&image)
682+
.arg("--work-dir").arg(&tmpdir(build))
683+
.arg("--output-dir").arg(&distdir(build))
684+
.arg("--non-installed-overlay").arg(&overlay)
685685
.arg(format!("--package-name={}-{}", name, target))
686686
.arg("--component-name=rls")
687687
.arg("--legacy-manifest-dirs=rustlib,cargo");
@@ -732,29 +732,28 @@ pub fn extended(build: &Build, stage: u32, target: &str) {
732732
// upgrades rustc was upgraded before rust-std. To avoid rustc clobbering
733733
// the std files during uninstall. To do this ensure that rustc comes
734734
// before rust-std in the list below.
735-
let mut input_tarballs = format!("{},{},{},{},{},{}",
736-
sanitize_sh(&rustc_installer),
737-
sanitize_sh(&cargo_installer),
738-
sanitize_sh(&rls_installer),
739-
sanitize_sh(&analysis_installer),
740-
sanitize_sh(&docs_installer),
741-
sanitize_sh(&std_installer));
735+
let mut tarballs = vec![rustc_installer, cargo_installer, rls_installer,
736+
analysis_installer, docs_installer, std_installer];
742737
if target.contains("pc-windows-gnu") {
743-
input_tarballs.push_str(",");
744-
input_tarballs.push_str(&sanitize_sh(&mingw_installer));
738+
tarballs.push(mingw_installer);
739+
}
740+
let mut input_tarballs = tarballs[0].as_os_str().to_owned();
741+
for tarball in &tarballs[1..] {
742+
input_tarballs.push(",");
743+
input_tarballs.push(tarball);
745744
}
746745

747746
let mut cmd = rust_installer(build);
748747
cmd.arg("combine")
749748
.arg("--product-name=Rust")
750749
.arg("--rel-manifest-dir=rustlib")
751750
.arg("--success-message=Rust-is-ready-to-roll.")
752-
.arg(format!("--work-dir={}", sanitize_sh(&work)))
753-
.arg(format!("--output-dir={}", sanitize_sh(&distdir(build))))
751+
.arg("--work-dir").arg(&work)
752+
.arg("--output-dir").arg(&distdir(build))
754753
.arg(format!("--package-name={}-{}", pkgname(build, "rust"), target))
755754
.arg("--legacy-manifest-dirs=rustlib,cargo")
756-
.arg(format!("--input-tarballs={}", input_tarballs))
757-
.arg(format!("--non-installed-overlay={}", sanitize_sh(&overlay)));
755+
.arg("--input-tarballs").arg(input_tarballs)
756+
.arg("--non-installed-overlay").arg(&overlay);
758757
build.run(&mut cmd);
759758

760759
let mut license = String::new();

0 commit comments

Comments
 (0)