Skip to content

Commit f72fce5

Browse files
committed
rustbuild: pass sysconfdir to install_sh
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
1 parent e8a74c3 commit f72fce5

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

src/bootstrap/install.rs

+17-6
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@ use dist::{sanitize_sh, tmpdir};
2424
/// Installs everything.
2525
pub fn install(build: &Build, stage: u32, host: &str) {
2626
let prefix_default = PathBuf::from("/usr/local");
27+
let sysconfdir_default = PathBuf::from("/etc");
2728
let docdir_default = PathBuf::from("share/doc/rust");
2829
let bindir_default = PathBuf::from("bin");
2930
let libdir_default = PathBuf::from("lib");
3031
let mandir_default = PathBuf::from("share/man");
3132
let prefix = build.config.prefix.as_ref().unwrap_or(&prefix_default);
33+
let sysconfdir = build.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
3234
let docdir = build.config.docdir.as_ref().unwrap_or(&docdir_default);
3335
let bindir = build.config.bindir.as_ref().unwrap_or(&bindir_default);
3436
let libdir = build.config.libdir.as_ref().unwrap_or(&libdir_default);
3537
let mandir = build.config.mandir.as_ref().unwrap_or(&mandir_default);
3638

39+
let sysconfdir = prefix.join(sysconfdir);
3740
let docdir = prefix.join(docdir);
3841
let bindir = prefix.join(bindir);
3942
let libdir = prefix.join(libdir);
@@ -42,6 +45,7 @@ pub fn install(build: &Build, stage: u32, host: &str) {
4245
let destdir = env::var_os("DESTDIR").map(PathBuf::from);
4346

4447
let prefix = add_destdir(&prefix, &destdir);
48+
let sysconfdir = add_destdir(&sysconfdir, &destdir);
4549
let docdir = add_destdir(&docdir, &destdir);
4650
let bindir = add_destdir(&bindir, &destdir);
4751
let libdir = add_destdir(&libdir, &destdir);
@@ -51,36 +55,43 @@ pub fn install(build: &Build, stage: u32, host: &str) {
5155
t!(fs::create_dir_all(&empty_dir));
5256
if build.config.docs {
5357
install_sh(&build, "docs", "rust-docs", &build.rust_package_vers(),
54-
stage, host, &prefix, &docdir, &bindir, &libdir, &mandir, &empty_dir);
58+
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
59+
&mandir, &empty_dir);
5560
}
5661

5762
for target in build.config.target.iter() {
5863
install_sh(&build, "std", "rust-std", &build.rust_package_vers(),
59-
stage, target, &prefix, &docdir, &bindir, &libdir, &mandir, &empty_dir);
64+
stage, target, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
65+
&mandir, &empty_dir);
6066
}
6167

6268
if build.config.extended {
6369
install_sh(&build, "cargo", "cargo", &build.cargo_package_vers(),
64-
stage, host, &prefix, &docdir, &bindir, &libdir, &mandir, &empty_dir);
70+
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
71+
&mandir, &empty_dir);
6572
install_sh(&build, "rls", "rls", &build.rls_package_vers(),
66-
stage, host, &prefix, &docdir, &bindir, &libdir, &mandir, &empty_dir);
73+
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
74+
&mandir, &empty_dir);
6775
}
6876

6977
install_sh(&build, "rustc", "rustc", &build.rust_package_vers(),
70-
stage, host, &prefix, &docdir, &bindir, &libdir, &mandir, &empty_dir);
78+
stage, host, &prefix, &sysconfdir, &docdir, &bindir, &libdir,
79+
&mandir, &empty_dir);
7180

7281
t!(fs::remove_dir_all(&empty_dir));
7382
}
7483

7584
fn install_sh(build: &Build, package: &str, name: &str, version: &str, stage: u32, host: &str,
76-
prefix: &Path, docdir: &Path, bindir: &Path, libdir: &Path, mandir: &Path, empty_dir: &Path) {
85+
prefix: &Path, sysconfdir: &Path, docdir: &Path, bindir: &Path, libdir: &Path,
86+
mandir: &Path, empty_dir: &Path) {
7787
println!("Install {} stage{} ({})", package, stage, host);
7888
let package_name = format!("{}-{}-{}", name, version, host);
7989

8090
let mut cmd = Command::new("sh");
8191
cmd.current_dir(empty_dir)
8292
.arg(sanitize_sh(&tmpdir(build).join(&package_name).join("install.sh")))
8393
.arg(format!("--prefix={}", sanitize_sh(prefix)))
94+
.arg(format!("--sysconfdir={}", sanitize_sh(sysconfdir)))
8495
.arg(format!("--docdir={}", sanitize_sh(docdir)))
8596
.arg(format!("--bindir={}", sanitize_sh(bindir)))
8697
.arg(format!("--libdir={}", sanitize_sh(libdir)))

0 commit comments

Comments
 (0)