commit:     7edf995959b4a06a5e9b14de3d9de7a88d0103d4
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  6 11:05:50 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sun Nov  6 11:06:40 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7edf9959

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

Package-Manager: portage-2.3.2

 app-arch/dpkg/dpkg-1.18.12.ebuild                  |  2 ++
 .../dpkg-1.18.12-dpkg_buildpackage-test.patch      | 10 ++++++++
 app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch   | 28 ++++++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/app-arch/dpkg/dpkg-1.18.12.ebuild 
b/app-arch/dpkg/dpkg-1.18.12.ebuild
index f647cdb..94b5afe 100644
--- a/app-arch/dpkg/dpkg-1.18.12.ebuild
+++ b/app-arch/dpkg/dpkg-1.18.12.ebuild
@@ -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
index 00000000..e971675
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.18.12-dpkg_buildpackage-test.patch
@@ -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
index 00000000..69802da
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.18.12-rsyncable.patch
@@ -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';
+ }
+ 

Reply via email to