app-arch/dpkg: Fix the gzip --rsyncable check. Disable one pedantic test.
authorJeroen Roovers <jer@gentoo.org>
Sun, 6 Nov 2016 11:05:50 +0000 (12:05 +0100)
committerJeroen Roovers <jer@gentoo.org>
Sun, 6 Nov 2016 11:06:40 +0000 (12:06 +0100)
Package-Manager: portage-2.3.2

app-arch/dpkg/dpkg-1.18.12.ebuild
app-arch/dpkg/files/dpkg-1.18.12-dpkg_buildpackage-test.patch [new file with mode: 0644]
app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch [new file with mode: 0644]

index f647cdb310289cce57d6e62c6d53d9de1ad6b0d1..94b5afef15578f2740763f30a4bc7fde84509009 100644 (file)
@@ -47,6 +47,8 @@ DOCS=(
 PATCHES=(
        "${FILESDIR}"/${PN}-1.18.9-strerror.patch
        "${FILESDIR}"/${PN}-1.18.12-flags.patch
+       "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
+       "${FILESDIR}"/${PN}-1.18.12-dpkg_buildpackage-test.patch
 )
 
 src_prepare() {
diff --git a/app-arch/dpkg/files/dpkg-1.18.12-dpkg_buildpackage-test.patch b/app-arch/dpkg/files/dpkg-1.18.12-dpkg_buildpackage-test.patch
new file mode 100644 (file)
index 0000000..e971675
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/scripts/Makefile.am
++++ b/scripts/Makefile.am
+@@ -238,7 +238,6 @@
+       t/Dpkg_Source_Package.t \
+       t/Dpkg_Dist_Files.t \
+       t/dpkg_source.t \
+-      t/dpkg_buildpackage.t \
+       t/merge_changelogs.t \
+       t/mk.t \
+       $(nil)
diff --git a/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch b/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch
new file mode 100644 (file)
index 0000000..69802da
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/scripts/Dpkg/Compression.pm
++++ b/scripts/Dpkg/Compression.pm
+@@ -81,20 +81,12 @@
+ };
+ 
+ #
+-# XXX: The gzip package in Debian at some point acquired a Debian-specific
+-# --rsyncable option via a vendor patch. Which is not present in most of the
+-# major distributions, dpkg downstream systems, nor gzip upstream, who have
+-# stated they will most probably not accept it because people should be using
+-# pigz instead.
++# If gzip supports --rsyncable (version >=1.7 or the Debian patched variant),
++# we use it. Sadly a non-compliant gzip will not complain about the argument
++# when it does not understand it, so we can only print out the usage and infer
++# --rsyncable support from that.
+ #
+-# This option should have never been accepted in dpkg, ever. But removing it
+-# now would probably cause demands for tarring and feathering. In addition
+-# we cannot use the Dpkg::Vendor logic because that would cause circular
+-# module dependencies. The whole affair is pretty disgusting really.
+-#
+-# Check the perl Config to discern Debian and hopefully derivatives too.
+-#
+-if ($Config{cf_by} eq 'Debian Project') {
++if (system("gzip --help 2>&1 | grep -q -- --rsyncable") == 0) {
+     push @{$COMP->{gzip}->{comp_prog}}, '--rsyncable';
+ }
+