dev-perl/GnuPG-Interface: Fix tests with newer gnupg, patches by Niko Tyni
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 25 Oct 2019 18:06:25 +0000 (20:06 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 25 Oct 2019 18:06:50 +0000 (20:06 +0200)
Closes: https://bugs.gentoo.org/661716
Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild
dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch [new file with mode: 0644]
dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch [new file with mode: 0644]

index 3145257e0c2e85501636ee089e55eb62893c663b..9ef5aecdf16f23472b3cc18f21040d88737b4e15 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -45,6 +45,8 @@ PATCHES=(
        "${FILESDIR}/${P}"-0017-Kill-any-GnuPG-agent-before-and-after-the-test-suite.patch
        "${FILESDIR}/${P}"-0018-Use-a-short-temporary-homedir-during-the-test-suite.patch
        "${FILESDIR}/${P}"-0019-Make-things-work-with-gpg1-assuming-plain-gpg-is-mod.patch
+       "${FILESDIR}/${P}"-0030-gpg-2.2.6.patch
+       "${FILESDIR}/${P}"-0031-gpg-2.2.8.patch
 )
 
 src_prepare() {
diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch
new file mode 100644 (file)
index 0000000..1268bee
--- /dev/null
@@ -0,0 +1,54 @@
+From 7c85ac40660861e7507c43d043323c3f1b83921b Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Wed, 20 Jun 2018 21:57:50 +0300
+Subject: [PATCH] Fix test suite for GnuPG >= 2.2.6 compatibility
+
+GnuPG 2.2.6 (commit 1a5d95e7319e7e6f) started marking signatures
+with an expired key with '?', as seen with for instance
+
+ GNUPGHOME=./test/gnupghome/ gpg --list-sigs 0xF950DA9C
+
+Adapt the test suite accordingly.
+
+See https://dev.gnupg.org/rG1a5d95e7319e7e6f0dd11064a26cbbc371b05214
+
+Bug-Debian: https://bugs.debian.org/900051
+---
+ t/get_public_keys.t | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/t/get_public_keys.t b/t/get_public_keys.t
+index 7893625..ede080a 100644
+--- a/t/get_public_keys.t
++++ b/t/get_public_keys.t
+@@ -13,8 +13,12 @@ use MyTestSpecific;
+ use GnuPG::PrimaryKey;
+ use GnuPG::SubKey;
++use version;
++
+ my ( $given_key, $handmade_key );
++my $gnupg_version = version->parse($gnupg->version);
++
+ TEST
+ {
+     reset_handles();
+@@ -74,7 +78,7 @@ TEST
+                             date_string => '2000-03-16',
+                             hex_id => '56FFD10A260C4FA3',
+                             sig_class => 0x10,
+-                            validity => '!'),
++                            validity => $gnupg_version < version->parse('2.2.6') ? '!' : '?'),
+       GnuPG::Signature->new(
+                             date => 949813093,
+                             algo_num => 17,
+@@ -115,7 +119,7 @@ TEST
+                             date_string => '2000-03-16',
+                             hex_id => '56FFD10A260C4FA3',
+                             sig_class => 0x10,
+-                            validity => '!'),
++                            validity => $gnupg_version < version->parse('2.2.6') ? '!' : '?'),
+       GnuPG::Signature->new(
+                             date => 953179891,
+                             algo_num => 17,
diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch
new file mode 100644 (file)
index 0000000..6c02500
--- /dev/null
@@ -0,0 +1,64 @@
+From b356e7fda15e39e037da1888a24000a96fc85c90 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Sun, 24 Jun 2018 16:19:25 +0300
+Subject: [PATCH] Fix test suite for GnuPG >= 2.2.8 compatibility
+
+GnuPG 2.2.8 onwards issues a hard failure when decrypting
+messages not using the MDC mode.
+
+Bug-Debian: https://bugs.debian.org/900051
+---
+ t/decrypt.t | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/t/decrypt.t b/t/decrypt.t
+index ee41448..2d6740c 100644
+--- a/t/decrypt.t
++++ b/t/decrypt.t
+@@ -6,6 +6,7 @@
+ use strict;
+ use English qw( -no_match_vars );
+ use File::Compare;
++use version;
+ use lib './t';
+ use MyTest;
+@@ -13,6 +14,8 @@ use MyTestSpecific;
+ my $compare;
++my $gnupg_version = version->parse($gnupg->version);
++
+ TEST
+ {
+     reset_handles();
+@@ -26,7 +29,13 @@ TEST
+     close $stdout;
+     waitpid $pid, 0;
+-    return $CHILD_ERROR == 0;;
++    if ($gnupg_version < version->parse('2.2.8')) {
++        return $CHILD_ERROR == 0;;
++    } else {
++        local $/ = undef;
++        my $errstr = <$stderr>;
++        return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
++    }
+ };
+@@ -50,7 +59,13 @@ TEST
+     waitpid $pid, 0;
+-    return $CHILD_ERROR == 0;
++    if ($gnupg_version < version->parse('2.2.8')) {
++        return $CHILD_ERROR == 0;
++    } else {
++        local $/ = undef;
++        my $errstr = <$stderr>;
++        return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
++    }
+ };