app-arch/dpkg: Fix the gzip --rsyncable check. Disable one pedantic test.

Package-Manager: portage-2.3.2
This commit is contained in:
Jeroen Roovers
2016-11-06 12:05:50 +01:00
parent bbc8416960
commit 7edf995959
3 changed files with 40 additions and 0 deletions

View 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() {

View File

@@ -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)

View File

@@ -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';
}