summaryrefslogtreecommitdiffstats
path: root/debian/patches/build/d-bootstrap-disable-git.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/build/d-bootstrap-disable-git.patch')
-rw-r--r--debian/patches/build/d-bootstrap-disable-git.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/patches/build/d-bootstrap-disable-git.patch b/debian/patches/build/d-bootstrap-disable-git.patch
new file mode 100644
index 000000000..f63e3a6cd
--- /dev/null
+++ b/debian/patches/build/d-bootstrap-disable-git.patch
@@ -0,0 +1,44 @@
+From: Matthijs van Otterdijk <matthijs@wirevirt.net>
+Date: Thu, 14 Jul 2022 13:17:38 +0200
+Subject: Don't check for cargo-vendor when building from (Debian's) git
+
+Forwarded: not-needed
+---
+ src/bootstrap/src/core/build_steps/dist.rs | 6 ++++--
+ src/bootstrap/src/utils/channel.rs | 6 ++++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
+index 98e2677..cad4935 100644
+--- a/src/bootstrap/src/core/build_steps/dist.rs
++++ b/src/bootstrap/src/core/build_steps/dist.rs
+@@ -991,8 +991,10 @@ impl Step for PlainSourceTarball {
+
+ // 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()
++ //
++ // Debian: short-circuited because the Debian package is also in a git
++ // repository, but cargo-vendor should not be installed or run.
++ if false
+ {
+ if builder.rust_info().is_managed_git_subrepository() {
+ // Ensure we have the submodules checked out.
+diff --git a/src/bootstrap/src/utils/channel.rs b/src/bootstrap/src/utils/channel.rs
+index e59d7f2..bd93209 100644
+--- a/src/bootstrap/src/utils/channel.rs
++++ b/src/bootstrap/src/utils/channel.rs
+@@ -35,6 +35,12 @@ pub struct Info {
+
+ impl GitInfo {
+ pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
++ //
++ // Debian: returning early because the Debian package is also in a git
++ // repository, but we don't want to parse gitinfo. This is
++ // needed for the bootstrap tests to work which running for
++ // Debian git.
++ return GitInfo::Absent;
+ // See if this even begins to look like a git dir
+ if !dir.join(".git").exists() {
+ match read_commit_info_file(dir) {