about summary refs log tree commit diff
diff options
context:
space:
mode:
authoronur-ozkan <work@onurozkan.dev>2023-10-04 22:38:29 +0300
committeronur-ozkan <work@onurozkan.dev>2023-10-04 22:42:26 +0300
commit6d7e6a25af2e0dc098f561b0259dcade5480bf31 (patch)
treebef21e3b6e7ec79f7821851c8ca5143cfc5af410
parent2ffeb4636b4ae376f716dc4378a7efb37632dc2d (diff)
downloadrust-6d7e6a25af2e0dc098f561b0259dcade5480bf31.tar.gz
rust-6d7e6a25af2e0dc098f561b0259dcade5480bf31.zip
vendor distribution on the tarball sources
Signed-off-by: onur-ozkan <work@onurozkan.dev>
-rw-r--r--src/bootstrap/dist.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 32da4ac29a4..56878280e15 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -1001,11 +1001,16 @@ impl Step for PlainSourceTarball {
             channel::write_commit_info_file(&plain_dst_src, info);
         }
 
-        // If we're building from git sources, we need to vendor a complete distribution.
-        if builder.rust_info().is_managed_git_subrepository() {
-            // Ensure we have the submodules checked out.
-            builder.update_submodule(Path::new("src/tools/cargo"));
-            builder.update_submodule(Path::new("src/tools/rust-analyzer"));
+        // If we're building from git or tarball sources, we need to vendor
+        // a complete distribution.
+        if builder.rust_info().is_managed_git_subrepository()
+            || builder.rust_info().is_from_tarball()
+        {
+            if builder.rust_info().is_managed_git_subrepository() {
+                // Ensure we have the submodules checked out.
+                builder.update_submodule(Path::new("src/tools/cargo"));
+                builder.update_submodule(Path::new("src/tools/rust-analyzer"));
+            }
 
             // Vendor all Cargo dependencies
             let mut cmd = Command::new(&builder.initial_cargo);