summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2019-10-25 20:06:25 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2019-10-25 20:06:50 +0200
commitf4bc13f99c7d2cda324f742c6f49134ae8e9f1a3 (patch)
tree1c4431ee6bcb25069523fb2c679d35369c0a8777
parentapp-misc/qcma: new package (diff)
downloadgentoo-f4bc13f99c7d2cda324f742c6f49134ae8e9f1a3.tar.gz
gentoo-f4bc13f99c7d2cda324f742c6f49134ae8e9f1a3.tar.bz2
gentoo-f4bc13f99c7d2cda324f742c6f49134ae8e9f1a3.zip
dev-perl/GnuPG-Interface: Fix tests with newer gnupg, patches by Niko Tyni
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>
-rw-r--r--dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild4
-rw-r--r--dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch54
-rw-r--r--dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch64
3 files changed, 121 insertions, 1 deletions
diff --git a/dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild b/dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild
index 3145257e0c2e..9ef5aecdf16f 100644
--- a/dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild
+++ b/dev-perl/GnuPG-Interface/GnuPG-Interface-0.520.0-r3.ebuild
@@ -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
index 000000000000..1268beeb0a21
--- /dev/null
+++ b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch
@@ -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
index 000000000000..6c025007eef5
--- /dev/null
+++ b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch
@@ -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/));
++ }
+ };
+
+