about summary refs log tree commit diff
diff options
context:
space:
mode:
authoronur-ozkan <work@onurozkan.dev>2024-02-22 01:09:12 +0300
committeronur-ozkan <work@onurozkan.dev>2024-02-22 01:36:56 +0300
commit94597e85cfd2df40b467f087a12c8f727813b947 (patch)
tree2228f3e213ed24100c0d871dc0b6bed600107b3c
parent3197aee8b31faa200081143c9d353119400759df (diff)
downloadrust-94597e85cfd2df40b467f087a12c8f727813b947.tar.gz
rust-94597e85cfd2df40b467f087a12c8f727813b947.zip
force dist.compression-profile = "no-op" for `x install`
Signed-off-by: onur-ozkan <work@onurozkan.dev>
-rw-r--r--src/bootstrap/src/utils/tarball.rs19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/bootstrap/src/utils/tarball.rs b/src/bootstrap/src/utils/tarball.rs
index 573d923ed8f..a14dfd1ca12 100644
--- a/src/bootstrap/src/utils/tarball.rs
+++ b/src/bootstrap/src/utils/tarball.rs
@@ -3,8 +3,8 @@ use std::{
     process::Command,
 };
 
-use crate::core::build_steps::dist::distdir;
 use crate::core::builder::Builder;
+use crate::core::{build_steps::dist::distdir, builder::Kind};
 use crate::utils::channel;
 use crate::utils::helpers::t;
 
@@ -325,7 +325,22 @@ impl<'a> Tarball<'a> {
             assert!(!formats.is_empty(), "dist.compression-formats can't be empty");
             cmd.arg("--compression-formats").arg(formats.join(","));
         }
-        cmd.args(["--compression-profile", &self.builder.config.dist_compression_profile]);
+
+        // For `x install` tarball files aren't needed, so we can speed up the process by not producing them.
+        let compression_profile = if self.builder.kind == Kind::Install {
+            self.builder.verbose("Forcing dist.compression-profile = 'no-op' for `x install`.");
+            // "no-op" indicates that the rust-installer won't produce compressed tarball sources.
+            "no-op"
+        } else {
+            assert!(
+                self.builder.config.dist_compression_profile != "no-op",
+                "dist.compression-profile = 'no-op' can only be used for `x install`"
+            );
+
+            &self.builder.config.dist_compression_profile
+        };
+
+        cmd.args(&["--compression-profile", compression_profile]);
         self.builder.run(&mut cmd);
 
         // Ensure there are no symbolic links in the tarball. In particular,