summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-12-19 14:51:48 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-12-19 16:58:57 +0000
commitf39ed7a7a7cc43b0be9cf026fd94eebc0da59191 (patch)
tree279749f66948c9bb5aa5584336fbea61a79395de
parent83f9c7600efd098a5c4a5d4b1938f4df8acfd54a (diff)
absurd/git Do not fail to import certain weird .dscs
A .dsc containing patches which patch files multiple times would be rejected by dpkg-source due to #848611. Work around this by arranging for the patch of interest to never be the first patch, by introducing (and then evaporating) a dummy patch. Yuk. Closes:#848391. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xabsurd/git18
-rw-r--r--debian/changelog2
2 files changed, 19 insertions, 1 deletions
diff --git a/absurd/git b/absurd/git
index 8300b0b..7d3ff94 100755
--- a/absurd/git
+++ b/absurd/git
@@ -79,10 +79,26 @@ fi
pwd=`pwd`
patch=${patch#$pwd/debian/patches/}
rm -f debian/patches/series
-printf "%s\n" "$patch" >debian/patches/series
+
+# Work around #848611.
+# We need a stunt filename which the source package must not
+# contain. A trick is to use the commit hash of HEAD, whose
+# hash value cannot appear in any file in its own tree.
+omgwtf="dgit-omg-wtf-$(git rev-parse HEAD)"
+cat <<END >debian/patches/$omgwtf
+---
+--- a/$omgwtf 2016-10-31 23:28:47.314155919 +0000
++++ b/$omgwtf 2016-12-18 22:40:01.870058270 +0000
+@@ -0,0 +1 @@
++:
+END
+printf "%s\n" "$omgwtf" >debian/patches/series
+printf "%s\n" "$patch" >>debian/patches/series
dpkg-source --before-build .
+rm -f $omgwtf debian/patches/$omgwtf
+
rm -rf .pc
git checkout debian/patches/series
git add -Af .
diff --git a/debian/changelog b/debian/changelog
index cdd7f25..e26c4de 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -21,6 +21,8 @@ dgit (2.12~) unstable; urgency=medium
Closes:#848512.
* Produce better error reporting when absurd git wrapper fails
on a patch during .dsc import. Apropos of #848391.
+ * Do not fail to import a .dsc containing patches which patch files
+ multiple times, due to #848611. Closes:#848391.
Test suite:
* Provide and use stunt lintian and debuild, to avoid lintian