]> git.lizzy.rs Git - rust.git/commitdiff
bootstrap: convert reproducible-artifacts to use Tarball
authorPietro Albini <pietro@pietroalbini.org>
Wed, 23 Dec 2020 18:40:45 +0000 (19:40 +0100)
committerPietro Albini <pietro@pietroalbini.org>
Wed, 23 Dec 2020 18:40:45 +0000 (19:40 +0100)
src/bootstrap/dist.rs

index 6d9ee60f95276fd9d3e5583e3794bfd2e953890f..0a79d09b27fed29598f66cbe41e7ac28a0b215c0 100644 (file)
@@ -2034,47 +2034,10 @@ fn make_run(run: RunConfig<'_>) {
     }
 
     fn run(self, builder: &Builder<'_>) -> Self::Output {
-        let name = pkgname(builder, "reproducible-artifacts");
-        let tmp = tmpdir(builder);
+        let path = builder.config.rust_profile_use.as_ref()?;
 
-        // Prepare the image.
-        let image = tmp.join("reproducible-artifacts-image");
-        let _ = fs::remove_dir_all(&image);
-
-        if let Some(path) = &builder.config.rust_profile_use {
-            builder.install(std::path::Path::new(path), &image, 0o644);
-        } else {
-            return None;
-        }
-
-        // Prepare the overlay.
-        let overlay = tmp.join("reproducible-artifacts-overlay");
-        let _ = fs::remove_dir_all(&overlay);
-        builder.create_dir(&overlay);
-        builder.create(&overlay.join("version"), &builder.rust_version());
-        for file in &["COPYRIGHT", "LICENSE-APACHE", "LICENSE-MIT", "README.md"] {
-            builder.install(&builder.src.join(file), &overlay, 0o644);
-        }
-
-        // Create the final tarball.
-        let mut cmd = rust_installer(builder);
-        cmd.arg("generate")
-            .arg("--product-name=Rust")
-            .arg("--rel-manifest-dir=rustlib")
-            .arg("--success-message=reproducible-artifacts installed.")
-            .arg("--image-dir")
-            .arg(&image)
-            .arg("--work-dir")
-            .arg(&tmpdir(builder))
-            .arg("--output-dir")
-            .arg(&distdir(builder))
-            .arg("--non-installed-overlay")
-            .arg(&overlay)
-            .arg(format!("--package-name={}-{}", name, self.target.triple))
-            .arg("--legacy-manifest-dirs=rustlib,cargo")
-            .arg("--component-name=reproducible-artifacts");
-
-        builder.run(&mut cmd);
-        Some(distdir(builder).join(format!("{}-{}.tar.gz", name, self.target.triple)))
+        let tarball = Tarball::new(builder, "reproducible-artifacts", &self.target.triple);
+        tarball.add_file(path, ".", 0o644);
+        Some(tarball.generate())
     }
 }