86 lines
2.9 KiB
Diff
86 lines
2.9 KiB
Diff
From 33ccf6af163e2d04a592cca506f334d905cb94aa Mon Sep 17 00:00:00 2001
|
|
From: Anders Kaseorg <andersk@mit.edu>
|
|
Date: Fri, 17 Sep 2021 00:19:22 -0400
|
|
Subject: [PATCH] bootstrap: Restore missing --bulk-dirs for rust-docs,
|
|
rustc-docs
|
|
|
|
---
|
|
src/bootstrap/dist.rs | 4 ++--
|
|
src/bootstrap/tarball.rs | 17 +++++++++++++++++
|
|
2 files changed, 19 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
|
|
index 86c84a2..aadbb98 100644
|
|
--- a/src/bootstrap/dist.rs
|
|
+++ b/src/bootstrap/dist.rs
|
|
@@ -74,7 +74,7 @@ impl Step for Docs {
|
|
|
|
let mut tarball = Tarball::new(builder, "rust-docs", &host.triple);
|
|
tarball.set_product_name("Rust Documentation");
|
|
- tarball.add_dir(&builder.doc_out(host), dest);
|
|
+ tarball.add_bulk_dir(&builder.doc_out(host), dest);
|
|
tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
|
|
Some(tarball.generate())
|
|
}
|
|
@@ -107,7 +107,7 @@ impl Step for RustcDocs {
|
|
|
|
let mut tarball = Tarball::new(builder, "rustc-docs", &host.triple);
|
|
tarball.set_product_name("Rustc Documentation");
|
|
- tarball.add_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
|
|
+ tarball.add_bulk_dir(&builder.compiler_doc_out(host), "share/doc/rust/html/rustc");
|
|
Some(tarball.generate())
|
|
}
|
|
}
|
|
diff --git a/src/bootstrap/tarball.rs b/src/bootstrap/tarball.rs
|
|
index 7fb0305..50f8605 100644
|
|
--- a/src/bootstrap/tarball.rs
|
|
+++ b/src/bootstrap/tarball.rs
|
|
@@ -94,6 +94,7 @@ pub(crate) struct Tarball<'a> {
|
|
temp_dir: PathBuf,
|
|
image_dir: PathBuf,
|
|
overlay_dir: PathBuf,
|
|
+ bulk_dirs: Vec<PathBuf>,
|
|
|
|
include_target_in_component_name: bool,
|
|
is_preview: bool,
|
|
@@ -132,6 +133,7 @@ impl<'a> Tarball<'a> {
|
|
temp_dir,
|
|
image_dir,
|
|
overlay_dir,
|
|
+ bulk_dirs: Vec::new(),
|
|
|
|
include_target_in_component_name: false,
|
|
is_preview: false,
|
|
@@ -196,6 +198,11 @@ impl<'a> Tarball<'a> {
|
|
self.builder.cp_r(src.as_ref(), &dest);
|
|
}
|
|
|
|
+ pub(crate) fn add_bulk_dir(&mut self, src: impl AsRef<Path>, dest: impl AsRef<Path>) {
|
|
+ self.bulk_dirs.push(dest.as_ref().to_path_buf());
|
|
+ self.add_dir(src, dest);
|
|
+ }
|
|
+
|
|
pub(crate) fn generate(self) -> GeneratedTarball {
|
|
let mut component_name = self.component.clone();
|
|
if self.is_preview {
|
|
@@ -216,6 +223,16 @@ impl<'a> Tarball<'a> {
|
|
.arg("--image-dir")
|
|
.arg(&this.image_dir)
|
|
.arg(format!("--component-name={}", &component_name));
|
|
+
|
|
+ if let Some((dir, dirs)) = this.bulk_dirs.split_first() {
|
|
+ let mut arg = dir.as_os_str().to_os_string();
|
|
+ for dir in dirs {
|
|
+ arg.push(",");
|
|
+ arg.push(dir);
|
|
+ }
|
|
+ cmd.arg("--bulk-dirs").arg(&arg);
|
|
+ }
|
|
+
|
|
this.non_bare_args(cmd);
|
|
})
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|