diff options
| author | Yuxuan Shui <yshuiv7@gmail.com> | 2020-12-20 17:16:02 +0000 |
|---|---|---|
| committer | Yuxuan Shui <yshuiv7@gmail.com> | 2020-12-20 17:16:02 +0000 |
| commit | fbc9d50d752ab298aea2844d236095b198e96fe6 (patch) | |
| tree | 239c4e714a71e747c20c294832bd2d2ac6358609 | |
| parent | 2ad5292aea6328113b55968b4322528d48261316 (diff) | |
| download | rust-fbc9d50d752ab298aea2844d236095b198e96fe6.tar.gz rust-fbc9d50d752ab298aea2844d236095b198e96fe6.zip | |
make sure installer only creates directories in DESTDIR
Fixes #80238 Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
| -rw-r--r-- | src/bootstrap/install.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs index 074f5cd73f3..8f2b128b368 100644 --- a/src/bootstrap/install.rs +++ b/src/bootstrap/install.rs @@ -73,12 +73,7 @@ fn install_sh( let docdir_default = datadir_default.join("doc/rust"); let libdir_default = PathBuf::from("lib"); let mandir_default = datadir_default.join("man"); - let prefix = builder.config.prefix.as_ref().map_or(prefix_default, |p| { - fs::create_dir_all(p) - .unwrap_or_else(|err| panic!("could not create {}: {}", p.display(), err)); - fs::canonicalize(p) - .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", p.display(), err)) - }); + let prefix = builder.config.prefix.as_ref().unwrap_or(&prefix_default); let sysconfdir = builder.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default); let datadir = builder.config.datadir.as_ref().unwrap_or(&datadir_default); let docdir = builder.config.docdir.as_ref().unwrap_or(&docdir_default); @@ -103,6 +98,13 @@ fn install_sh( let libdir = add_destdir(&libdir, &destdir); let mandir = add_destdir(&mandir, &destdir); + let prefix = { + fs::create_dir_all(&prefix) + .unwrap_or_else(|err| panic!("could not create {}: {}", prefix.display(), err)); + fs::canonicalize(&prefix) + .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", prefix.display(), err)) + }; + let empty_dir = builder.out.join("tmp/empty_dir"); t!(fs::create_dir_all(&empty_dir)); |
