about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-12-30 09:29:21 -0800
committerAlex Crichton <alex@alexcrichton.com>2016-12-30 09:36:22 -0800
commitd0881eaec7d1300566607bb465acf614ce073b75 (patch)
tree165b9bde44d2db2ffb3157e857c57e77be0fc16e /src/bootstrap
parent7f2d2afa9196ba6314a29e58d5324dbd9923c75e (diff)
downloadrust-d0881eaec7d1300566607bb465acf614ce073b75.tar.gz
rust-d0881eaec7d1300566607bb465acf614ce073b75.zip
rustbuild: Fix source tarballs and the vendor dir
The source tarball creation step would attempt to skip a number of files that we
want to ignore ourselves, but once we've hit the vendor directory we don't want
to skip anything so be sure to vendor everything inside that directory.

Closes #38690
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/dist.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 6e3174ed2f6..428c3da7764 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -397,6 +397,13 @@ pub fn rust_src(build: &Build, host: &str) {
             }
         }
 
+        // If we're inside the vendor directory then we need to preserve
+        // everything as Cargo's vendoring support tracks all checksums and we
+        // want to be sure we don't accidentally leave out a file.
+        if spath.contains("vendor") {
+            return true
+        }
+
         let excludes = [
             "CVS", "RCS", "SCCS", ".git", ".gitignore", ".gitmodules",
             ".gitattributes", ".cvsignore", ".svn", ".arch-ids", "{arch}",