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>
pwd=`pwd`
patch=${patch#$pwd/debian/patches/}
rm -f debian/patches/series
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 .
dpkg-source --before-build .
+rm -f $omgwtf debian/patches/$omgwtf
+
rm -rf .pc
git checkout debian/patches/series
git add -Af .
rm -rf .pc
git checkout debian/patches/series
git add -Af .
Closes:#848512.
* Produce better error reporting when absurd git wrapper fails
on a patch during .dsc import. Apropos of #848391.
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
Test suite:
* Provide and use stunt lintian and debuild, to avoid lintian