diff options
author | 2021-11-01 17:23:13 +0100 | |
---|---|---|
committer | 2021-11-01 18:55:42 +0100 | |
commit | 0dae41e8d74ac1f793990cfbef93639a031ab6e6 (patch) | |
tree | 37c1b0d01ba39dae1cae179d3e8e75b8672ed8fb /dev-perl/GnuPG-Interface | |
parent | dev-perl/File-NFSLock: remove unused patch(es) (diff) | |
download | gentoo-0dae41e8d74ac1f793990cfbef93639a031ab6e6.tar.gz gentoo-0dae41e8d74ac1f793990cfbef93639a031ab6e6.tar.bz2 gentoo-0dae41e8d74ac1f793990cfbef93639a031ab6e6.zip |
dev-perl/GnuPG-Interface: remove unused patch(es)
Closes: https://github.com/gentoo/gentoo/pull/22783
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at>
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'dev-perl/GnuPG-Interface')
21 files changed, 0 insertions, 1800 deletions
diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0001-fix-spelling-error-settting-should-be-setting.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0001-fix-spelling-error-settting-should-be-setting.patch deleted file mode 100644 index fcec61009070..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0001-fix-spelling-error-settting-should-be-setting.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 07:26:00 +0200 -Subject: fix spelling error ("settting" should be "setting") - ---- - README | 2 +- - lib/GnuPG/Interface.pm | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/README b/README -index fcb982a..f457577 100644 ---- a/README -+++ b/README -@@ -6,7 +6,7 @@ SYNOPSIS - use IO::Handle; - use GnuPG::Interface; - -- # settting up the situation -+ # setting up the situation - my $gnupg = GnuPG::Interface->new(); - $gnupg->options->hash_init( armor => 1, - homedir => '/home/foobar' ); -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index f952f3e..83a4b1a 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -834,7 +834,7 @@ GnuPG::Interface - Perl interface to GnuPG - use IO::Handle; - use GnuPG::Interface; - -- # settting up the situation -+ # setting up the situation - my $gnupg = GnuPG::Interface->new(); - $gnupg->options->hash_init( armor => 1, - homedir => '/home/foobar' ); diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0002-Generalize-the-test-suite.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0002-Generalize-the-test-suite.patch deleted file mode 100644 index d0d3e6ccdf9d..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0002-Generalize-the-test-suite.patch +++ /dev/null @@ -1,151 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 10:38:12 -0400 -Subject: Generalize the test suite - -The test suite currently assumes it knows something about the internal -state of GnuPG's homedir. - -It's safer and less brittle to rely explicitly on the public interface -that GnuPG has committed to, such as --import-keys and --list-keys, -rather than assuming that certain files are in certain places in the -GnuPG homedir. - -It's also better to create a fresh homedir and allow GnuPG to populate -it during the test suite, cleaning it up at the end, rather than hope -that GnuPG will leave a pre-existing homedir untouched. - -With this change, many more of the tests pass when /usr/bin/gpg is -provided by GnuPG 2.1. ---- - t/000_setup.t | 28 ++++++++++++++++++++++++++++ - t/MyTestSpecific.pm | 2 +- - t/zzz_cleanup.t | 17 +++++++++++++++++ - test/fake-pinentry.pl | 28 ++++++++++++++++++++++++++++ - test/{options => gpg.conf} | 0 - test/secret-keys/1.0.test | 4 ++-- - 6 files changed, 76 insertions(+), 3 deletions(-) - create mode 100644 t/000_setup.t - create mode 100644 t/zzz_cleanup.t - create mode 100755 test/fake-pinentry.pl - rename test/{options => gpg.conf} (100%) - -diff --git a/t/000_setup.t b/t/000_setup.t -new file mode 100644 -index 0000000..7f7f7b0 ---- /dev/null -+++ b/t/000_setup.t -@@ -0,0 +1,28 @@ -+#!/usr/bin/perl -w -+ -+use strict; -+use English qw( -no_match_vars ); -+ -+use lib './t'; -+use MyTest; -+use MyTestSpecific; -+use Cwd; -+use File::Path qw (make_path); -+use File::Copy; -+ -+TEST -+{ -+ make_path('test/gnupghome', { mode => 0700 }); -+ my $agentconf = IO::File->new( "> test/gnupghome/gpg-agent.conf" ); -+ $agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n"); -+ $agentconf->close(); -+ copy('test/gpg.conf', 'test/gnupghome/gpg.conf'); -+ reset_handles(); -+ -+ my $pid = $gnupg->import_keys(command_args => [ 'test/pubring.gpg', 'test/secring.gpg' ], -+ options => [ 'batch'], -+ handles => $handles); -+ waitpid $pid, 0; -+ -+ return $CHILD_ERROR == 0; -+}; -diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm -index 053b749..1af98ae 100644 ---- a/t/MyTestSpecific.pm -+++ b/t/MyTestSpecific.pm -@@ -40,7 +40,7 @@ use vars qw( @ISA @EXPORT - - $gnupg = GnuPG::Interface->new( passphrase => 'test' ); - --$gnupg->options->hash_init( homedir => 'test', -+$gnupg->options->hash_init( homedir => 'test/gnupghome', - armor => 1, - meta_interactive => 0, - meta_signing_key_id => '0xF950DA9C', -diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t -new file mode 100644 -index 0000000..5c03a72 ---- /dev/null -+++ b/t/zzz_cleanup.t -@@ -0,0 +1,17 @@ -+#!/usr/bin/perl -w -+ -+use strict; -+use English qw( -no_match_vars ); -+ -+use lib './t'; -+use MyTest; -+use MyTestSpecific; -+use File::Path qw (remove_tree); -+ -+# this is actually no test, just cleanup. -+TEST -+{ -+ my $err = []; -+ remove_tree('test/gnupghome', {error => \$err}); -+ return ! @$err; -+}; -diff --git a/test/fake-pinentry.pl b/test/fake-pinentry.pl -new file mode 100755 -index 0000000..12d3611 ---- /dev/null -+++ b/test/fake-pinentry.pl -@@ -0,0 +1,28 @@ -+#!/usr/bin/perl -w -+# Use this for your test suites when a perl interpreter is available. -+# -+# The encrypted keys in your test suite that you expect to work must -+# be locked with a passphrase of "test" -+# -+# Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -+# -+# License: This trivial work is hereby explicitly placed into the -+# public domain. Anyone may reuse it, modify it, redistribute it for -+# any purpose. -+ -+use strict; -+use warnings; -+ -+# turn off buffering -+$| = 1; -+ -+print "OK This is only for test suites, and should never be used in production\n"; -+while (<STDIN>) { -+ chomp; -+ next if (/^$/); -+ next if (/^#/); -+ print ("D test\n") if (/^getpin/i); -+ print "OK\n"; -+ exit if (/^bye/i); -+} -+1; -diff --git a/test/options b/test/gpg.conf -similarity index 100% -rename from test/options -rename to test/gpg.conf -diff --git a/test/secret-keys/1.0.test b/test/secret-keys/1.0.test -index 5999484..129d472 100644 ---- a/test/secret-keys/1.0.test -+++ b/test/secret-keys/1.0.test -@@ -1,5 +1,5 @@ --test/secring.gpg ------------------ -+test/gnupghome/secring.gpg -+-------------------------- - sec 1024D/F950DA9C 2000-02-06 - uid GnuPG test key (for testing purposes only) - uid Foo Bar (1) diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0003-subkey-validity-of-an-key-when-we-have-established-n.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0003-subkey-validity-of-an-key-when-we-have-established-n.patch deleted file mode 100644 index 23fbf97fee2c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0003-subkey-validity-of-an-key-when-we-have-established-n.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 11:35:31 -0400 -Subject: subkey validity of an key when we have established no trust anchors - -This apparently isn't tested by deep comparisons, though, so it was -never caught. ---- - t/get_public_keys.t | 2 +- - t/get_secret_keys.t | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/t/get_public_keys.t b/t/get_public_keys.t -index 53db021..73e320b 100644 ---- a/t/get_public_keys.t -+++ b/t/get_public_keys.t -@@ -175,7 +175,7 @@ TEST - ]; - - my $subkey = GnuPG::SubKey->new -- ( validity => 'u', -+ ( validity => '-', - length => 768, - algo_num => 16, - hex_id => 'ADB99D9C2E854A6B', -diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t -index 3a1d99f..7bba083 100644 ---- a/t/get_secret_keys.t -+++ b/t/get_secret_keys.t -@@ -48,7 +48,7 @@ TEST - - - my $subkey = GnuPG::SubKey->new -- ( validity => 'u', -+ ( validity => '-', - length => 768, - algo_num => 16, - hex_id => 'ADB99D9C2E854A6B', diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0004-ensure-that-test-covers-all-signatures.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0004-ensure-that-test-covers-all-signatures.patch deleted file mode 100644 index 1743b7d9177c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0004-ensure-that-test-covers-all-signatures.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 11:39:04 -0400 -Subject: ensure that test covers all signatures - -The earlier test wasn't reporting on one of the known self-sigs for -the test key for some reason. - -This change ensures that all known signatures are present. ---- - t/get_public_keys.t | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/t/get_public_keys.t b/t/get_public_keys.t -index 73e320b..9e96f7d 100644 ---- a/t/get_public_keys.t -+++ b/t/get_public_keys.t -@@ -83,7 +83,17 @@ TEST - date_string => '2000-02-06', - hex_id => '53AE596EF950DA9C', - sig_class => 0x13, -- validity => '!')); -+ validity => '!'), -+ GnuPG::Signature->new( -+ date => 1177086329, -+ algo_num => 17, -+ is_exportable => 1, -+ user_id_string => 'GnuPG test key (for testing purposes only)', -+ date_string => '2007-04-20', -+ hex_id => '53AE596EF950DA9C', -+ sig_class => 0x13, -+ validity => '!'), -+ ); - - my $uid1 = GnuPG::UserId->new( as_string => 'Foo Bar (1)', - validity => '-'); diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0005-add-gpg_is_modern-to-test-suite.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0005-add-gpg_is_modern-to-test-suite.patch deleted file mode 100644 index 0016fa755c0c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0005-add-gpg_is_modern-to-test-suite.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 14:31:38 -0400 -Subject: add $gpg_is_modern to test suite - -MyTestSpecific.pm now produces a new variable indicating whether it -the version of GnuPG we run against is from the "Modern" line of GnuPG -development (2.1 or later). This will be useful when comparing output -that we can't expect from earlier versions. ---- - t/MyTestSpecific.pm | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm -index 1af98ae..a309698 100644 ---- a/t/MyTestSpecific.pm -+++ b/t/MyTestSpecific.pm -@@ -29,17 +29,20 @@ use GnuPG::Handles; - use vars qw( @ISA @EXPORT - $stdin $stdout $stderr - $gpg_program $handles $gnupg -- %texts -+ %texts $gpg_is_modern - ); - - @ISA = qw( Exporter ); - @EXPORT = qw( stdin stdout stderr - gnupg_program handles reset_handles -- texts file_match -+ texts file_match gpg_is_modern - ); - - $gnupg = GnuPG::Interface->new( passphrase => 'test' ); - -+my @version = split('\.', $gnupg->version()); -+$gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1)); -+ - $gnupg->options->hash_init( homedir => 'test/gnupghome', - armor => 1, - meta_interactive => 0, diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0006-Modern-GnuPG-2.1-reports-more-detail-about-secret-ke.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0006-Modern-GnuPG-2.1-reports-more-detail-about-secret-ke.patch deleted file mode 100644 index bea8bfc68dfa..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0006-Modern-GnuPG-2.1-reports-more-detail-about-secret-ke.patch +++ /dev/null @@ -1,120 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 14:12:40 -0400 -Subject: Modern GnuPG (2.1) reports more detail about secret keys - -the GnuPG "modern" suite (version 2.1 or later) reports more detail -about secret keys than previous versions did. In particular, it -reports stored ownertrust, public key data, and designated revokers -for secret keys. Older versions only reported those attributes for -public keys. - -This patch adjusts the test suite to ensure that our handmade key -matches the produced key when /usr/bin/gpg is supplied by the modern -suite. ---- - t/get_secret_keys.t | 66 +++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 54 insertions(+), 12 deletions(-) - -diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t -index 7bba083..c798cce 100644 ---- a/t/get_secret_keys.t -+++ b/t/get_secret_keys.t -@@ -23,16 +23,34 @@ TEST - return 0 unless @returned_keys == 1; - - $given_key = shift @returned_keys; -- -- $handmade_key = GnuPG::PrimaryKey->new -- ( length => 1024, -+ my $pubkey_data = [ -+ Math::BigInt->from_hex('0x'. -+ '88FCAAA5BCDCD52084D46143F44ED1715A339794641158DE03AA2092AFD3174E3DCA2CB7DF2DDC6FEDF7C3620F5A8BDAD06713E6153F8748DD76CB97305F30CBA8F8801DB47FAC11EED725F55672CB9BDAD629178A677CBB089B3E8AE0D9A9AD7741697A35F2868C62D25670994A92D810480173DC24263EEA0F103A43C0B64B'), -+ Math::BigInt->from_hex('0x'. -+ '8F2A3842C70FF17660CBB78C78FC93F534AB9A17'), -+ Math::BigInt->from_hex('0x'. -+ '83E348C2AA65F56DE84E8FDCE6DA7B0991B1C75EC8CA446FA85869A43350907BFF36BE512385E8E7E095578BB2138C04E318495873218286DE2B8C86F36EA670135434967AC798EBA28581F709F0C6B696EB512D3E561E381A06E4B5239BCC655015F9A926C74E4B859B26EAD604F208A556511A76A40EDCD9C38E6BD82CCCB4'), -+ Math::BigInt->from_hex('0x'. -+ '80DE04C85E30C9D62C13F90CFF927A84A5A59D0900B3533D4D6193FEF8C5DAEF9FF8A7D5F76B244FBC17644F50D524E0B19CD3A4B5FC2D78DAECA3FE58FA1C1A64E6C7B96C4EE618173543163A72EF954DFD593E84342699096E9CA76578AC1DE3D893BCCD0BF470CEF625FAF816A0F503EF75C18C6173E35C8675AF919E5704') -+ ]; -+ -+ -+ my $args = { -+ length => 1024, - algo_num => 17, - hex_id => '53AE596EF950DA9C', - creation_date => 949813093, - creation_date_string => '2000-02-06', -- owner_trust => '', # secret keys do not report ownertrust? -+ owner_trust => '-', - usage_flags => 'scaESCA', -- ); -+ pubkey_data => $pubkey_data, -+ }; -+ if (!$gpg_is_modern) { -+ # older versions don't report ownertrust or pubkey_data for secret keys: -+ delete $args->{pubkey_data}; -+ $args->{owner_trust} = ''; -+ } -+ $handmade_key = GnuPG::PrimaryKey->new($args); - - $handmade_key->fingerprint - ( GnuPG::Fingerprint->new( as_hex_string => -@@ -42,20 +60,42 @@ TEST - - $handmade_key->push_user_ids( - GnuPG::UserId->new( as_string => 'GnuPG test key (for testing purposes only)', -- validity => ''), # secret keys do not report uid validity? -+ validity => $args->{owner_trust}), - GnuPG::UserId->new( as_string => 'Foo Bar (1)', -- validity => '')); # secret keys do not report uid validity? -- -- -- my $subkey = GnuPG::SubKey->new -- ( validity => '-', -+ validity => $args->{owner_trust})); -+ -+ my $revoker = GnuPG::Revoker->new -+ ( algo_num => 17, -+ class => 0x80, -+ fingerprint => GnuPG::Fingerprint->new( as_hex_string => -+ '4F863BBBA8166F0A340F600356FFD10A260C4FA3'), -+ ); -+ -+ my $subkey_pub_data = [ -+ Math::BigInt->from_hex('0x'. -+ '8831982DADC4C5D05CBB01D9EAF612131DDC9C24CEA7246557679423FB0BA42F74D10D8E7F5564F6A4FB8837F8DC4A46571C19B122E6DF4B443D15197A6A22688863D0685FADB6E402316DAA9B560D1F915475364580A67E6DF0A727778A5CF3'), -+ Math::BigInt->from_hex('0x'. -+ '6'), -+ Math::BigInt->from_hex('0x'. -+ '2F3850FF130C6AC9AA0962720E86539626FAA9B67B33A74DFC0DE843FF3E90E43E2F379EE0182D914FA539CCCF5C83A20DB3A7C45E365B8A2A092E799A3DFF4AD8274EB977BAAF5B1AFB2ACB8D6F92454F01682F555565E73E56793C46EF7C3E') -+ ]; -+ -+ my $sub_args = { -+ validity => '-', - length => 768, - algo_num => 16, - hex_id => 'ADB99D9C2E854A6B', - creation_date => 949813119, - creation_date_string => '2000-02-06', - usage_flags => 'e', -- ); -+ pubkey_data => $subkey_pub_data, -+ }; -+ -+ if (!$gpg_is_modern) { -+ # older versions do not report pubkey data for secret keys -+ delete $sub_args->{pubkey_data}; -+ } -+ my $subkey = GnuPG::SubKey->new($sub_args); - - $subkey->fingerprint - ( GnuPG::Fingerprint->new( as_hex_string => -@@ -64,6 +104,8 @@ TEST - ); - - $handmade_key->push_subkeys( $subkey ); -+ # older versions do not report designated revokers for secret keys -+ $handmade_key->push_revokers( $revoker ) if ($gpg_is_modern); - - $handmade_key->compare( $given_key ); - }; diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0007-test-suite-match-plaintext-output-across-versions-of.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0007-test-suite-match-plaintext-output-across-versions-of.patch deleted file mode 100644 index 85c1a46adae5..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0007-test-suite-match-plaintext-output-across-versions-of.patch +++ /dev/null @@ -1,95 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 14:46:13 -0400 -Subject: test suite: match plaintext output across versions of GnuPG - -The human-readable version of --list-keys is *not* expected to be -static over time or as the user's environment changes (e.g. LANG or -LC_MESSAGES), so expecting it to be machine-parseable is probably a -mistake. - -That said, some users might want to pull textual information about -specific keys to display directly to the user, so it's not a terrible -idea to have it in the test suite. - -Modern GnuPG (2.1 or later) changes the default structure of the -human-readable output in a few significant ways: - - * it writes the path to the keyring as an absolute path, even if - $GNUPGHOME is set to a non-absolute path. - - * it shows the calculated user id validity by default (see - show-uid-validity in gpg's --list-options). (note that this is a - translated string, so that "unknown" (in the default C locale) - becomes "inconnue" when LANG or LC_MESSAGES is set to fr_CH.UTF-8, - for example. - - * it writes the key algorithm names differently (e.g. rsa2048 instead - of 2048R) - - * it does not display the key ID at all by default - - * it displays the full fingerprint in compact form by default - -This changeset fixes the test suite so that it can do a rough -verification of the human-readable text output by list_secret_keys in -the C locale in modern versions of GnuPG, while leaving it working for -older GnuPG suites. ---- - t/list_secret_keys.t | 15 +++++++++++++-- - test/secret-keys/1.modern.test | 8 ++++++++ - 2 files changed, 21 insertions(+), 2 deletions(-) - create mode 100644 test/secret-keys/1.modern.test - -diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t -index 1fe9b7e..51e3651 100644 ---- a/t/list_secret_keys.t -+++ b/t/list_secret_keys.t -@@ -16,13 +16,22 @@ TEST - { - reset_handles(); - -+ $ENV{LC_MESSAGES} = 'C'; - my $pid = $gnupg->list_secret_keys( handles => $handles ); - close $stdin; - - $outfile = 'test/secret-keys/1.out'; - my $out = IO::File->new( "> $outfile" ) - or die "cannot open $outfile for writing: $ERRNO"; -- $out->print( <$stdout> ); -+ while (<$stdout>) { -+ if ($gpg_is_modern && /^\/.*\/test\/gnupghome\/pubring.kbx$/) { -+ $out->print("test/gnupghome/pubring.kbx\n"); -+ } elsif ($gpg_is_modern && /^--*$/) { -+ $out->print("--------------------------\n"); -+ } else { -+ $out->print( $_ ); -+ } -+ } - close $stdout; - $out->close(); - waitpid $pid, 0; -@@ -33,7 +42,9 @@ TEST - - TEST - { -- my @files_to_test = ( 'test/secret-keys/1.0.test' ); -+ my $suffix = '0'; -+ $suffix = 'modern' if ($gpg_is_modern); -+ my @files_to_test = ( 'test/secret-keys/1.'.$suffix.'.test' ); - - return file_match( $outfile, @files_to_test ); - }; -diff --git a/test/secret-keys/1.modern.test b/test/secret-keys/1.modern.test -new file mode 100644 -index 0000000..3e46407 ---- /dev/null -+++ b/test/secret-keys/1.modern.test -@@ -0,0 +1,8 @@ -+test/gnupghome/pubring.kbx -+-------------------------- -+sec dsa1024 2000-02-06 [SCA] -+ 93AFC4B1B0288A104996B44253AE596EF950DA9C -+uid [ unknown] GnuPG test key (for testing purposes only) -+uid [ unknown] Foo Bar (1) -+ssb elg768 2000-02-06 [E] -+ diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0008-fix-test_default_key_passphrase-when-passphrase-come.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0008-fix-test_default_key_passphrase-when-passphrase-come.patch deleted file mode 100644 index 5ae938325ff1..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0008-fix-test_default_key_passphrase-when-passphrase-come.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 13 Sep 2016 15:22:27 -0400 -Subject: fix test_default_key_passphrase when passphrase comes from agent - -In the modern GnuPG suite, where the passphrase is always managed by -the agent, gpg itself doesn't emit the GOOD_PASSPHRASE status. -Instead, if signing is successful it emits plain old SIG_CREATED. - -There are probably even better ways to test whether a given key is -unlocked in this case, but this is a straightforward baseline fix that -should get this part of the test suite to pass with all available -versions of GnuPG. ---- - lib/GnuPG/Interface.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 83a4b1a..1f1e6d5 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -808,7 +808,7 @@ sub test_default_key_passphrase() { - - # all we realy want to check is the status fh - while (<$status>) { -- if (/^\[GNUPG:\]\s*GOOD_PASSPHRASE/) { -+ if (/^\[GNUPG:\]\s*(GOOD_PASSPHRASE|SIG_CREATED)/) { - waitpid $pid, 0; - return 1; - } diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0009-clean-up-trailing-whitespace.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0009-clean-up-trailing-whitespace.patch deleted file mode 100644 index f408c6568b0f..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0009-clean-up-trailing-whitespace.patch +++ /dev/null @@ -1,112 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 19:52:13 -0400 -Subject: clean up trailing whitespace - ---- - lib/GnuPG/Fingerprint.pm | 2 +- - lib/GnuPG/Handles.pm | 2 +- - lib/GnuPG/Interface.pm | 16 ++++++++-------- - 3 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/lib/GnuPG/Fingerprint.pm b/lib/GnuPG/Fingerprint.pm -index fcb1028..81c38a7 100644 ---- a/lib/GnuPG/Fingerprint.pm -+++ b/lib/GnuPG/Fingerprint.pm -@@ -20,7 +20,7 @@ with qw(GnuPG::HashInit); - - has as_hex_string => ( - isa => 'Any', -- is => 'rw', -+ is => 'rw', - ); - - sub compare { -diff --git a/lib/GnuPG/Handles.pm b/lib/GnuPG/Handles.pm -index b30ca57..3eee0e3 100644 ---- a/lib/GnuPG/Handles.pm -+++ b/lib/GnuPG/Handles.pm -@@ -73,7 +73,7 @@ GnuPG::Handles - GnuPG handles bundle - = ( IO::Handle->new(), IO::Handle->new(), IO::Handle->new(), - IO::Handle->new(), IO::Handle->new(), IO::Handle->new(), - ); -- -+ - my $handles = GnuPG::Handles->new - ( stdin => $stdin, - stdout => $stdout, -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 1f1e6d5..19e8070 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -833,7 +833,7 @@ GnuPG::Interface - Perl interface to GnuPG - # A simple example - use IO::Handle; - use GnuPG::Interface; -- -+ - # setting up the situation - my $gnupg = GnuPG::Interface->new(); - $gnupg->options->hash_init( armor => 1, -@@ -852,7 +852,7 @@ GnuPG::Interface - Perl interface to GnuPG - # Now we'll go about encrypting with the options already set - my @plaintext = ( 'foobar' ); - my $pid = $gnupg->encrypt( handles => $handles ); -- -+ - # Now we write to the input of GnuPG - print $input @plaintext; - close $input; -@@ -1144,7 +1144,7 @@ The following setup can be done before any of the following examples: - - my $handles = GnuPG::Handles->new( stdin => $input, - stdout => $output ); -- -+ - # this sets up the communication - # Note that the recipients were specified earlier - # in the 'options' data member of the $gnupg object. -@@ -1220,7 +1220,7 @@ The following setup can be done before any of the following examples: - # a file written to disk - # Make sure you "use IO::File" if you use this module! - my $cipher_file = IO::File->new( 'encrypted.gpg' ); -- -+ - # this sets up the communication - my $pid = $gnupg->decrypt( handles => $handles ); - -@@ -1252,7 +1252,7 @@ The following setup can be done before any of the following examples: - # This time we'll just let GnuPG print to our own output - # and read from our input, because no input is needed! - my $handles = GnuPG::Handles->new(); -- -+ - my @ids = ( 'ftobin', '0xABCD1234' ); - - # this time we need to specify something for -@@ -1260,7 +1260,7 @@ The following setup can be done before any of the following examples: - # search ids as arguments - my $pid = $gnupg->list_public_keys( handles => $handles, - command_args => [ @ids ] ); -- -+ - waitpid $pid, 0; - - =head2 Creating GnuPG::PublicKey Objects -@@ -1280,7 +1280,7 @@ The following setup can be done before any of the following examples: - command_args => [ qw( test/key.1.asc ) ], - handles => $handles, - ); -- -+ - my @out = <$handles->stdout()>; - waitpid $pid, 0; - -@@ -1357,7 +1357,7 @@ under the same terms as Perl itself. - - =head1 AUTHOR - --GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>. -+GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>. - - Frank J. Tobin, ftobin@cpan.org was the original author of the package. - diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0010-fix-capitalization-of-GnuPG.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0010-fix-capitalization-of-GnuPG.patch deleted file mode 100644 index f55d4b15942c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0010-fix-capitalization-of-GnuPG.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 19:52:58 -0400 -Subject: fix capitalization of GnuPG - ---- - README | 2 +- - lib/GnuPG/Interface.pm | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/README b/README -index f457577..aa7c984 100644 ---- a/README -+++ b/README -@@ -427,7 +427,7 @@ LICENSE - under the same terms as Perl itself. - - AUTHOR -- GnuPg::Interface is currently maintained by Jesse Vincent -+ GnuPG::Interface is currently maintained by Jesse Vincent - <jesse@cpan.org>. - - Frank J. Tobin, ftobin@cpan.org was the original author of the package. -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 19e8070..cf7138f 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -1357,7 +1357,7 @@ under the same terms as Perl itself. - - =head1 AUTHOR - --GnuPg::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>. -+GnuPG::Interface is currently maintained by Jesse Vincent <jesse@cpan.org>. - - Frank J. Tobin, ftobin@cpan.org was the original author of the package. - diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0011-ommand_args-should-be-command_args.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0011-ommand_args-should-be-command_args.patch deleted file mode 100644 index a9ab737aa04a..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0011-ommand_args-should-be-command_args.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 19:57:10 -0400 -Subject: ommand_args should be command_args - ---- - t/list_public_keys.t | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/t/list_public_keys.t b/t/list_public_keys.t -index 7e563c1..a36a78b 100644 ---- a/t/list_public_keys.t -+++ b/t/list_public_keys.t -@@ -38,7 +38,7 @@ TEST - reset_handles(); - - my $pid = $gnupg->list_public_keys( handles => $handles, -- ommand_args => '0xF950DA9C' -+ command_args => '0xF950DA9C' - ); - close $stdin; - diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0012-use-fingerprints-as-inputs-during-tests-to-demonstra.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0012-use-fingerprints-as-inputs-during-tests-to-demonstra.patch deleted file mode 100644 index 9694e0854ce8..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0012-use-fingerprints-as-inputs-during-tests-to-demonstra.patch +++ /dev/null @@ -1,265 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 20:05:16 -0400 -Subject: use fingerprints as inputs during tests to demonstrate explicit usage - ---- - README | 6 +++--- - lib/GnuPG/Interface.pm | 6 +++--- - lib/GnuPG/Options.pm | 2 +- - t/MyTestSpecific.pm | 2 +- - t/encrypt.t | 6 +++--- - t/export_keys.t | 4 ++-- - t/get_public_keys.t | 2 +- - t/get_secret_keys.t | 2 +- - t/list_public_keys.t | 4 ++-- - t/list_secret_keys.t | 4 ++-- - t/list_sigs.t | 4 ++-- - t/sign_and_encrypt.t | 2 +- - 12 files changed, 22 insertions(+), 22 deletions(-) - -diff --git a/README b/README -index aa7c984..ed94ede 100644 ---- a/README -+++ b/README -@@ -228,7 +228,7 @@ EXAMPLES - - $gnupg->options->hash_init( armor => 1, - recipients => [ 'ftobin@uiuc.edu', -- '0xABCD1234' ], -+ '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ], - meta_interactive => 0 , - ); - -@@ -347,7 +347,7 @@ EXAMPLES - # and read from our input, because no input is needed! - my $handles = GnuPG::Handles->new(); - -- my @ids = ( 'ftobin', '0xABCD1234' ); -+ my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ); - - # this time we need to specify something for - # command_args because --list-public-keys takes -@@ -358,7 +358,7 @@ EXAMPLES - waitpid $pid, 0; - - Creating GnuPG::PublicKey Objects -- my @ids = [ 'ftobin', '0xABCD1234' ]; -+ my @ids = [ 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ]; - - my @keys = $gnupg->get_public_keys( @ids ); - -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index cf7138f..6eaef7d 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -1130,7 +1130,7 @@ The following setup can be done before any of the following examples: - - $gnupg->options->hash_init( armor => 1, - recipients => [ 'ftobin@uiuc.edu', -- '0xABCD1234' ], -+ '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ], - meta_interactive => 0 , - ); - -@@ -1253,7 +1253,7 @@ The following setup can be done before any of the following examples: - # and read from our input, because no input is needed! - my $handles = GnuPG::Handles->new(); - -- my @ids = ( 'ftobin', '0xABCD1234' ); -+ my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ); - - # this time we need to specify something for - # command_args because --list-public-keys takes -@@ -1265,7 +1265,7 @@ The following setup can be done before any of the following examples: - - =head2 Creating GnuPG::PublicKey Objects - -- my @ids = [ 'ftobin', '0xABCD1234' ]; -+ my @ids = [ 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ]; - - my @keys = $gnupg->get_public_keys( @ids ); - -diff --git a/lib/GnuPG/Options.pm b/lib/GnuPG/Options.pm -index 86261a0..7788662 100644 ---- a/lib/GnuPG/Options.pm -+++ b/lib/GnuPG/Options.pm -@@ -198,7 +198,7 @@ GnuPG::Options - GnuPG options embodiment - - # assuming $gnupg is a GnuPG::Interface object - $gnupg->options->armor( 1 ); -- $gnupg->options->push_recipients( 'ftobin', '0xABCD1234' ); -+ $gnupg->options->push_recipients( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ); - - =head1 DESCRIPTION - -diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm -index a309698..c8764cc 100644 ---- a/t/MyTestSpecific.pm -+++ b/t/MyTestSpecific.pm -@@ -46,7 +46,7 @@ $gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1)); - $gnupg->options->hash_init( homedir => 'test/gnupghome', - armor => 1, - meta_interactive => 0, -- meta_signing_key_id => '0xF950DA9C', -+ meta_signing_key_id => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C', - always_trust => 1, - ); - -diff --git a/t/encrypt.t b/t/encrypt.t -index 3183ac4..e6bdc08 100644 ---- a/t/encrypt.t -+++ b/t/encrypt.t -@@ -27,7 +27,7 @@ TEST - - $gnupg->options->clear_recipients(); - $gnupg->options->clear_meta_recipients_keys(); -- $gnupg->options->push_recipients( '0x2E854A6B' ); -+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' ); - - my $pid = $gnupg->encrypt( handles => $handles ); - -@@ -43,7 +43,7 @@ TEST - { - reset_handles(); - -- my @keys = $gnupg->get_public_keys( '0xF950DA9C' ); -+ my @keys = $gnupg->get_public_keys( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - $gnupg->options->clear_recipients(); - $gnupg->options->clear_meta_recipients_keys(); - $gnupg->options->push_meta_recipients_keys( @keys ); -@@ -64,7 +64,7 @@ TEST - - $gnupg->options->clear_recipients(); - $gnupg->options->clear_meta_recipients_keys(); -- $gnupg->options->push_recipients( '0x2E854A6B' ); -+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' ); - - $handles->stdin( $texts{plain}->fh() ); - $handles->options( 'stdin' )->{direct} = 1; -diff --git a/t/export_keys.t b/t/export_keys.t -index cf5c82b..5add064 100644 ---- a/t/export_keys.t -+++ b/t/export_keys.t -@@ -15,7 +15,7 @@ TEST - reset_handles(); - - my $pid = $gnupg->export_keys( handles => $handles, -- command_args => '0xF950DA9C' ); -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - close $stdin; - waitpid $pid, 0; - -@@ -31,7 +31,7 @@ TEST - $handles->options( 'stdout' )->{direct} = 1; - - my $pid = $gnupg->export_keys( handles => $handles, -- command_args => '0xF950DA9C' ); -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - waitpid $pid, 0; - return $CHILD_ERROR == 0; - }; -diff --git a/t/get_public_keys.t b/t/get_public_keys.t -index 9e96f7d..7893625 100644 ---- a/t/get_public_keys.t -+++ b/t/get_public_keys.t -@@ -19,7 +19,7 @@ TEST - { - reset_handles(); - -- my @returned_keys = $gnupg->get_public_keys_with_sigs( '0xF950DA9C' ); -+ my @returned_keys = $gnupg->get_public_keys_with_sigs( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - - return 0 unless @returned_keys == 1; - -diff --git a/t/get_secret_keys.t b/t/get_secret_keys.t -index c798cce..a7f1348 100644 ---- a/t/get_secret_keys.t -+++ b/t/get_secret_keys.t -@@ -18,7 +18,7 @@ TEST - { - reset_handles(); - -- my @returned_keys = $gnupg->get_secret_keys( '0xF950DA9C' ); -+ my @returned_keys = $gnupg->get_secret_keys( '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - - return 0 unless @returned_keys == 1; - -diff --git a/t/list_public_keys.t b/t/list_public_keys.t -index a36a78b..622b092 100644 ---- a/t/list_public_keys.t -+++ b/t/list_public_keys.t -@@ -38,7 +38,7 @@ TEST - reset_handles(); - - my $pid = $gnupg->list_public_keys( handles => $handles, -- command_args => '0xF950DA9C' -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' - ); - close $stdin; - -@@ -64,7 +64,7 @@ TEST - $handles->options( 'stdout' )->{direct} = 1; - - my $pid = $gnupg->list_public_keys( handles => $handles, -- command_args => '0xF950DA9C', -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C', - ); - - waitpid $pid, 0; -diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t -index 51e3651..7040c38 100644 ---- a/t/list_secret_keys.t -+++ b/t/list_secret_keys.t -@@ -55,7 +55,7 @@ TEST - reset_handles(); - - my $pid = $gnupg->list_secret_keys( handles => $handles, -- command_args => '0xF950DA9C' ); -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - close $stdin; - - $outfile = 'test/secret-keys/2.out'; -@@ -80,7 +80,7 @@ TEST - $handles->options( 'stdout' )->{direct} = 1; - - my $pid = $gnupg->list_secret_keys( handles => $handles, -- command_args => '0xF950DA9C' ); -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C' ); - - waitpid $pid, 0; - -diff --git a/t/list_sigs.t b/t/list_sigs.t -index 16cfa6a..1301fb2 100644 ---- a/t/list_sigs.t -+++ b/t/list_sigs.t -@@ -36,7 +36,7 @@ TEST - reset_handles(); - - my $pid = $gnupg->list_sigs( handles => $handles, -- command_args => '0xF950DA9C', -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C', - ); - close $stdin; - -@@ -60,7 +60,7 @@ TEST - $handles->options( 'stdout' )->{direct} = 1; - - my $pid = $gnupg->list_sigs( handles => $handles, -- command_args => '0xF950DA9C', -+ command_args => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C', - ); - - waitpid $pid, 0; -diff --git a/t/sign_and_encrypt.t b/t/sign_and_encrypt.t -index 5dc1c08..df0fc75 100644 ---- a/t/sign_and_encrypt.t -+++ b/t/sign_and_encrypt.t -@@ -14,7 +14,7 @@ TEST - { - reset_handles(); - -- $gnupg->options->push_recipients( '0x2E854A6B' ); -+ $gnupg->options->push_recipients( '0x7466B7E98C4CCB64C2CE738BADB99D9C2E854A6B' ); - my $pid = $gnupg->sign_and_encrypt( handles => $handles ); - - print $stdin @{ $texts{plain}->data() }; diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0013-move-key-files-to-generic-names.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0013-move-key-files-to-generic-names.patch deleted file mode 100644 index 489e685b7b8c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0013-move-key-files-to-generic-names.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 20:17:49 -0400 -Subject: move key files to generic names - ---- - t/000_setup.t | 2 +- - test/{pubring.gpg => public_keys.pgp} | Bin - test/{secring.gpg => secret_keys.pgp} | Bin - 3 files changed, 1 insertion(+), 1 deletion(-) - rename test/{pubring.gpg => public_keys.pgp} (100%) - rename test/{secring.gpg => secret_keys.pgp} (100%) - -diff --git a/t/000_setup.t b/t/000_setup.t -index 7f7f7b0..a8e3042 100644 ---- a/t/000_setup.t -+++ b/t/000_setup.t -@@ -19,7 +19,7 @@ TEST - copy('test/gpg.conf', 'test/gnupghome/gpg.conf'); - reset_handles(); - -- my $pid = $gnupg->import_keys(command_args => [ 'test/pubring.gpg', 'test/secring.gpg' ], -+ my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp' ], - options => [ 'batch'], - handles => $handles); - waitpid $pid, 0; -diff --git a/test/pubring.gpg b/test/public_keys.pgp -similarity index 100% -rename from test/pubring.gpg -rename to test/public_keys.pgp -diff --git a/test/secring.gpg b/test/secret_keys.pgp -similarity index 100% -rename from test/secring.gpg -rename to test/secret_keys.pgp diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0014-fix-spelling-s-convience-convenience.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0014-fix-spelling-s-convience-convenience.patch deleted file mode 100644 index ee809b61d754..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0014-fix-spelling-s-convience-convenience.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 20:25:48 -0400 -Subject: fix spelling: s/convience/convenience/ - ---- - README | 4 ++-- - lib/GnuPG/Interface.pm | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/README b/README -index ed94ede..a05ef9b 100644 ---- a/README -+++ b/README -@@ -143,7 +143,7 @@ OBJECT METHODS - does not come into play. If the passphrase data member handle of the - handles object is not defined, but the the passphrase data member - handle of GnuPG::Interface object is, GnuPG::Interface will handle -- passing this information into GnuPG for the user as a convience. -+ passing this information into GnuPG for the user as a convenience. - Note that this will result in GnuPG::Interface storing the - passphrase in memory, instead of having it simply 'pass-through' to - GnuPG via a handle. -@@ -271,7 +271,7 @@ EXAMPLES - ); - - # indicate our pasphrase through the -- # convience method -+ # convenience method - $gnupg->passphrase( $passphrase ); - - # this sets up the communication -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 6eaef7d..29205f0 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -1008,7 +1008,7 @@ and so this information is not generated and does not come into play. - If the B<passphrase> data member handle of the B<handles> object - is not defined, but the the B<passphrase> data member handle of GnuPG::Interface - object is, GnuPG::Interface will handle passing this information into GnuPG --for the user as a convience. Note that this will result in -+for the user as a convenience. Note that this will result in - GnuPG::Interface storing the passphrase in memory, instead of having - it simply 'pass-through' to GnuPG via a handle. - -@@ -1175,7 +1175,7 @@ The following setup can be done before any of the following examples: - ); - - # indicate our pasphrase through the -- # convience method -+ # convenience method - $gnupg->passphrase( $passphrase ); - - # this sets up the communication diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0015-added-new-secret-key-with-different-passphrase.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0015-added-new-secret-key-with-different-passphrase.patch deleted file mode 100644 index fcf20c1b9d1c..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0015-added-new-secret-key-with-different-passphrase.patch +++ /dev/null @@ -1,117 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 20:59:43 -0400 -Subject: added new secret key with different passphrase - -Adding a new secret key with a different passphrase should allow us to -differentiate between passing the passphrase explicitly and relying on -the agent + pinentry. ---- - t/000_setup.t | 2 +- - test/new_secret.pgp | 58 ++++++++++++++++++++++++++++++++++++++++++ - test/secret-keys/1.0.test | 4 +++ - test/secret-keys/1.modern.test | 5 ++++ - 4 files changed, 68 insertions(+), 1 deletion(-) - create mode 100644 test/new_secret.pgp - -diff --git a/t/000_setup.t b/t/000_setup.t -index a8e3042..b183241 100644 ---- a/t/000_setup.t -+++ b/t/000_setup.t -@@ -19,7 +19,7 @@ TEST - copy('test/gpg.conf', 'test/gnupghome/gpg.conf'); - reset_handles(); - -- my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp' ], -+ my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp', 'test/new_secret.pgp' ], - options => [ 'batch'], - handles => $handles); - waitpid $pid, 0; -diff --git a/test/new_secret.pgp b/test/new_secret.pgp -new file mode 100644 -index 0000000..5feb72c ---- /dev/null -+++ b/test/new_secret.pgp -@@ -0,0 +1,58 @@ -+-----BEGIN PGP PRIVATE KEY BLOCK----- -+ -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 -+=ftgB -+-----END PGP PRIVATE KEY BLOCK----- -diff --git a/test/secret-keys/1.0.test b/test/secret-keys/1.0.test -index 129d472..f8239a9 100644 ---- a/test/secret-keys/1.0.test -+++ b/test/secret-keys/1.0.test -@@ -5,3 +5,7 @@ uid GnuPG test key (for testing purposes only) - uid Foo Bar (1) - ssb 768g/2E854A6B 2000-02-06 - -+sec 2048R/B6747DDC 2016-10-12 -+uid GnuPG::Interface Test key <test@example.org> -+ssb 2048R/AE441D0F 2016-10-12 -+ -diff --git a/test/secret-keys/1.modern.test b/test/secret-keys/1.modern.test -index 3e46407..42b27a1 100644 ---- a/test/secret-keys/1.modern.test -+++ b/test/secret-keys/1.modern.test -@@ -6,3 +6,8 @@ uid [ unknown] GnuPG test key (for testing purposes only) - uid [ unknown] Foo Bar (1) - ssb elg768 2000-02-06 [E] - -+sec rsa2048 2016-10-12 [SC] -+ 278F850AA702911F1318F0A61B913CE9B6747DDC -+uid [ unknown] GnuPG::Interface Test key <test@example.org> -+ssb rsa2048 2016-10-12 [E] -+ diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0016-Test-use-of-gpg-without-explicit-passphrase-agent-pi.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0016-Test-use-of-gpg-without-explicit-passphrase-agent-pi.patch deleted file mode 100644 index 21e6294efaed..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0016-Test-use-of-gpg-without-explicit-passphrase-agent-pi.patch +++ /dev/null @@ -1,302 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Tue, 11 Oct 2016 21:29:22 -0400 -Subject: Test use of gpg without explicit passphrase (agent+pinentry) - -The modern GnuPG suite encourages the use of gpg-agent to control -access to secret key material. In this use case, we avoid setting an -explicit passphrase in code, and rely on either a correctly-configured -and primed gpg-agent or a dedicated pinentry program to supply the -passphrase. - -This additional test verifies that the passphrase can be handled by -the agent. Note that the passphrase for this additional test key is -*not* the default passphrase, so this test should fail in the event -that gpg can't use the agent and the pinentry for this task. - -Unfortunately, this all assumes that we're using GnuPG "Modern". I've -noted concerns about writing forward- and backward-compatible bindings -for GnuPG here: -https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html ---- - README | 41 +++++++++++++++++++++++++++-------------- - lib/GnuPG/Interface.pm | 26 +++++++++++++++++++++++++- - t/MyTestSpecific.pm | 10 ++++++++-- - t/decrypt.t | 27 +++++++++++++++++++++++++++ - test/encrypted.2.gpg | 12 ++++++++++++ - test/fake-pinentry.pl | 2 +- - test/plain.2.txt | 1 + - 7 files changed, 101 insertions(+), 18 deletions(-) - create mode 100644 test/encrypted.2.gpg - create mode 100644 test/plain.2.txt - -diff --git a/README b/README -index a05ef9b..be06ef3 100644 ---- a/README -+++ b/README -@@ -5,7 +5,7 @@ SYNOPSIS - # A simple example - use IO::Handle; - use GnuPG::Interface; -- -+ - # setting up the situation - my $gnupg = GnuPG::Interface->new(); - $gnupg->options->hash_init( armor => 1, -@@ -24,7 +24,7 @@ SYNOPSIS - # Now we'll go about encrypting with the options already set - my @plaintext = ( 'foobar' ); - my $pid = $gnupg->encrypt( handles => $handles ); -- -+ - # Now we write to the input of GnuPG - print $input @plaintext; - close $input; -@@ -140,13 +140,26 @@ OBJECT METHODS - standard error, standard output, or standard error. If the status or - logger handle is not defined, this channel of communication is never - established with GnuPG, and so this information is not generated and -- does not come into play. If the passphrase data member handle of the -- handles object is not defined, but the the passphrase data member -- handle of GnuPG::Interface object is, GnuPG::Interface will handle -- passing this information into GnuPG for the user as a convenience. -- Note that this will result in GnuPG::Interface storing the -- passphrase in memory, instead of having it simply 'pass-through' to -- GnuPG via a handle. -+ does not come into play. -+ -+ If the passphrase data member handle of the handles object is not -+ defined, but the the passphrase data member handle of -+ GnuPG::Interface object is, GnuPG::Interface will handle passing -+ this information into GnuPG for the user as a convenience. Note that -+ this will result in GnuPG::Interface storing the passphrase in -+ memory, instead of having it simply 'pass-through' to GnuPG via a -+ handle. -+ -+ If neither the passphrase data member of the GnuPG::Interface nor -+ the passphrase data member of the handles object is defined, then -+ GnuPG::Interface assumes that access and control over the secret key -+ will be handled by the running gpg-agent process. This represents -+ the simplest mode of operation with the GnuPG "modern" suite -+ (version 2.1 and later). It is also the preferred mode for tools -+ intended to be user-facing, since the user will be prompted directly -+ by gpg-agent for use of the secret key material. Note that for -+ programmatic use, this mode requires the gpg-agent and pinentry to -+ already be correctly configured. - - Other Methods - get_public_keys( @search_strings ) -@@ -241,7 +254,7 @@ EXAMPLES - - my $handles = GnuPG::Handles->new( stdin => $input, - stdout => $output ); -- -+ - # this sets up the communication - # Note that the recipients were specified earlier - # in the 'options' data member of the $gnupg object. -@@ -315,7 +328,7 @@ EXAMPLES - # a file written to disk - # Make sure you "use IO::File" if you use this module! - my $cipher_file = IO::File->new( 'encrypted.gpg' ); -- -+ - # this sets up the communication - my $pid = $gnupg->decrypt( handles => $handles ); - -@@ -346,7 +359,7 @@ EXAMPLES - # This time we'll just let GnuPG print to our own output - # and read from our input, because no input is needed! - my $handles = GnuPG::Handles->new(); -- -+ - my @ids = ( 'ftobin', '0xABCD1234ABCD1234ABCD1234ABCD1234ABCD1234' ); - - # this time we need to specify something for -@@ -354,7 +367,7 @@ EXAMPLES - # search ids as arguments - my $pid = $gnupg->list_public_keys( handles => $handles, - command_args => [ @ids ] ); -- -+ - waitpid $pid, 0; - - Creating GnuPG::PublicKey Objects -@@ -372,7 +385,7 @@ EXAMPLES - command_args => [ qw( test/key.1.asc ) ], - handles => $handles, - ); -- -+ - my @out = <$handles->stdout()>; - waitpid $pid, 0; - -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 29205f0..5d8b0ec 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -106,6 +106,14 @@ sub fork_attach_exec( $% ) { - my ( $self, %args ) = @_; - - my $handles = $args{handles} or croak 'no GnuPG::Handles passed'; -+ my $use_loopback_pinentry = 0; -+ -+ # WARNING: this assumes that we're using the "modern" GnuPG suite -+ # -- version 2.1.x or later. It's not clear to me how we can -+ # safely and efficiently avoid this assumption (see -+ # https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html) -+ $use_loopback_pinentry = 1 -+ if ($handles->passphrase()); - - # deprecation support - $args{commands} ||= $args{gnupg_commands}; -@@ -293,8 +301,12 @@ sub fork_attach_exec( $% ) { - $self->options->$option($fileno); - } - -+ my @args = $self->options->get_args(); -+ push @args, '--pinentry-mode', 'loopback' -+ if $use_loopback_pinentry; -+ - my @command = ( -- $self->call(), $self->options->get_args(), -+ $self->call(), @args, - @commands, @command_args - ); - -@@ -1005,6 +1017,7 @@ and standard error will be tied to the running program's standard error, - standard output, or standard error. If the B<status> or B<logger> handle - is not defined, this channel of communication is never established with GnuPG, - and so this information is not generated and does not come into play. -+ - If the B<passphrase> data member handle of the B<handles> object - is not defined, but the the B<passphrase> data member handle of GnuPG::Interface - object is, GnuPG::Interface will handle passing this information into GnuPG -@@ -1012,6 +1025,17 @@ for the user as a convenience. Note that this will result in - GnuPG::Interface storing the passphrase in memory, instead of having - it simply 'pass-through' to GnuPG via a handle. - -+If neither the B<passphrase> data member of the GnuPG::Interface nor -+the B<passphrase> data member of the B<handles> object is defined, -+then GnuPG::Interface assumes that access and control over the secret -+key will be handled by the running gpg-agent process. This represents -+the simplest mode of operation with the GnuPG "modern" suite (version -+2.1 and later). It is also the preferred mode for tools intended to -+be user-facing, since the user will be prompted directly by gpg-agent -+for use of the secret key material. Note that for programmatic use, -+this mode requires the gpg-agent and pinentry to already be correctly -+configured. -+ - =back - - =head2 Other Methods -diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm -index c8764cc..e513c25 100644 ---- a/t/MyTestSpecific.pm -+++ b/t/MyTestSpecific.pm -@@ -55,9 +55,15 @@ struct( Text => { fn => "\$", fh => "\$", data => "\$" } ); - $texts{plain} = Text->new(); - $texts{plain}->fn( 'test/plain.1.txt' ); - -+$texts{alt_plain} = Text->new(); -+$texts{alt_plain}->fn( 'test/plain.2.txt' ); -+ - $texts{encrypted} = Text->new(); - $texts{encrypted}->fn( 'test/encrypted.1.gpg' ); - -+$texts{alt_encrypted} = Text->new(); -+$texts{alt_encrypted}->fn( 'test/encrypted.2.gpg' ); -+ - $texts{signed} = Text->new(); - $texts{signed}->fn( 'test/signed.1.asc' ); - -@@ -68,7 +74,7 @@ $texts{temp} = Text->new(); - $texts{temp}->fn( 'test/temp' ); - - --foreach my $name ( qw( plain encrypted signed key ) ) -+foreach my $name ( qw( plain alt_plain encrypted alt_encrypted signed key ) ) - { - my $entry = $texts{$name}; - my $filename = $entry->fn(); -@@ -90,7 +96,7 @@ sub reset_handles - stderr => $stderr - ); - -- foreach my $name ( qw( plain encrypted signed key ) ) -+ foreach my $name ( qw( plain alt_plain encrypted alt_encrypted signed key ) ) - { - my $entry = $texts{$name}; - my $filename = $entry->fn(); -diff --git a/t/decrypt.t b/t/decrypt.t -index b2639ed..ee41448 100644 ---- a/t/decrypt.t -+++ b/t/decrypt.t -@@ -58,3 +58,30 @@ TEST - { - return compare( $texts{plain}->fn(), $texts{temp}->fn() ) == 0; - }; -+ -+ -+# test without default_passphrase (that is, by using the agent) -+TEST -+{ -+ reset_handles(); -+ -+ $handles->stdin( $texts{alt_encrypted}->fh() ); -+ $handles->options( 'stdin' )->{direct} = 1; -+ -+ $handles->stdout( $texts{temp}->fh() ); -+ $handles->options( 'stdout' )->{direct} = 1; -+ -+ $gnupg->clear_passphrase(); -+ -+ my $pid = $gnupg->decrypt( handles => $handles ); -+ -+ waitpid $pid, 0; -+ -+ return $CHILD_ERROR == 0; -+}; -+ -+ -+TEST -+{ -+ return compare( $texts{alt_plain}->fn(), $texts{temp}->fn() ) == 0; -+}; -diff --git a/test/encrypted.2.gpg b/test/encrypted.2.gpg -new file mode 100644 -index 0000000..105cbb3 ---- /dev/null -+++ b/test/encrypted.2.gpg -@@ -0,0 +1,12 @@ -+-----BEGIN PGP MESSAGE----- -+ -+hQEMAw3NS2KuRB0PAQgAuCMQO6blPRIJZib+kDa51gac+BYPl8caXYTLqIHtiz2/ -+YRVqePJON4lNAqT6qUksIzQHtejFO6tb1SLqgX9Ti+fKAMLrQw9VGOYaJFoRrTJs -++X33S4GHVVikRTu0dydAsekbfPSc2nRmTFUlSEV3psgAmg9xy8KA6cZroK9Xfcuh -+xW7KLE0hLP+2NZ7zNmJMdu6LDGzvlQsnm1UeElXK8XdMGf8kA3R+GgeeOnR/oEQc -+Uep77k/fLc+UV4fp9Dk1OBeg3Ko/irSaefk4mU7F4HmS8jIERHRvXBTiur1Zx8Nx -+9U3fcQuc+P9+JC89iS4PJPF1Hr0MlezAghZYJrhOrtJIAe5Uaft5KMGRfy0VQnAs -+MHqGnGtzzVWK6GK83ibgG4tTfPEHHIgNFsJf3rM4cWklUmCS9TeeDJJZfhnRA6+/ -+X82e6OI7QNbO -+=DlGE -+-----END PGP MESSAGE----- -diff --git a/test/fake-pinentry.pl b/test/fake-pinentry.pl -index 12d3611..40b8b08 100755 ---- a/test/fake-pinentry.pl -+++ b/test/fake-pinentry.pl -@@ -21,7 +21,7 @@ while (<STDIN>) { - chomp; - next if (/^$/); - next if (/^#/); -- print ("D test\n") if (/^getpin/i); -+ print ("D supercalifragilisticexpialidocious\n") if (/^getpin/i); - print "OK\n"; - exit if (/^bye/i); - } -diff --git a/test/plain.2.txt b/test/plain.2.txt -new file mode 100644 -index 0000000..da5a1d5 ---- /dev/null -+++ b/test/plain.2.txt -@@ -0,0 +1 @@ -+test message diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0017-Kill-any-GnuPG-agent-before-and-after-the-test-suite.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0017-Kill-any-GnuPG-agent-before-and-after-the-test-suite.patch deleted file mode 100644 index 2f20f1455397..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0017-Kill-any-GnuPG-agent-before-and-after-the-test-suite.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Thu, 25 May 2017 16:07:45 -0400 -Subject: Kill any GnuPG agent before and after the test suite. - -This helps to ensure that the test suite daemon is started fresh at -every test suite run. And it also avoids leaving a daemon running -after the test suite, assuming the test suite manages to reach the -end. - -This is considered a reasonable practice by upstream. ---- - t/000_setup.t | 3 +++ - t/zzz_cleanup.t | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/t/000_setup.t b/t/000_setup.t -index b183241..4dc4329 100644 ---- a/t/000_setup.t -+++ b/t/000_setup.t -@@ -17,6 +17,9 @@ TEST - $agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n"); - $agentconf->close(); - copy('test/gpg.conf', 'test/gnupghome/gpg.conf'); -+ # reset the state of any long-lived gpg-agent, ignoring errors: -+ system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent'); -+ - reset_handles(); - - my $pid = $gnupg->import_keys(command_args => [ 'test/public_keys.pgp', 'test/secret_keys.pgp', 'test/new_secret.pgp' ], -diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t -index 5c03a72..eea3a48 100644 ---- a/t/zzz_cleanup.t -+++ b/t/zzz_cleanup.t -@@ -12,6 +12,8 @@ use File::Path qw (remove_tree); - TEST - { - my $err = []; -+ # kill off any long-lived gpg-agent, ignoring errors: -+ system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent'); - remove_tree('test/gnupghome', {error => \$err}); - return ! @$err; - }; diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0018-Use-a-short-temporary-homedir-during-the-test-suite.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0018-Use-a-short-temporary-homedir-during-the-test-suite.patch deleted file mode 100644 index 457a5e74d532..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0018-Use-a-short-temporary-homedir-during-the-test-suite.patch +++ /dev/null @@ -1,110 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Fri, 26 May 2017 09:51:40 -0400 -Subject: Use a short temporary homedir during the test suite - -This avoids problems with the length of the path to the homedir as -compared to the size limits of sockaddr_un.sun_path, particularly on -systems where /run/user/$(id -u) is not present or available (such as -many minimalist build environments). ---- - t/000_setup.t | 9 +++++---- - t/MyTestSpecific.pm | 18 +++++++++++++++++- - t/list_secret_keys.t | 3 ++- - t/zzz_cleanup.t | 6 ++++-- - 4 files changed, 28 insertions(+), 8 deletions(-) - -diff --git a/t/000_setup.t b/t/000_setup.t -index 4dc4329..82d7005 100644 ---- a/t/000_setup.t -+++ b/t/000_setup.t -@@ -12,13 +12,14 @@ use File::Copy; - - TEST - { -- make_path('test/gnupghome', { mode => 0700 }); -- my $agentconf = IO::File->new( "> test/gnupghome/gpg-agent.conf" ); -+ my $homedir = $gnupg->options->homedir(); -+ make_path($homedir, { mode => 0700 }); -+ my $agentconf = IO::File->new( "> " . $homedir . "/gpg-agent.conf" ); - $agentconf->write("pinentry-program " . getcwd() . "/test/fake-pinentry.pl\n"); - $agentconf->close(); -- copy('test/gpg.conf', 'test/gnupghome/gpg.conf'); -+ copy('test/gpg.conf', $homedir . '/gpg.conf'); - # reset the state of any long-lived gpg-agent, ignoring errors: -- system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent'); -+ system('gpgconf', '--homedir', $homedir, '--quiet', '--kill', 'gpg-agent'); - - reset_handles(); - -diff --git a/t/MyTestSpecific.pm b/t/MyTestSpecific.pm -index e513c25..809d55c 100644 ---- a/t/MyTestSpecific.pm -+++ b/t/MyTestSpecific.pm -@@ -22,6 +22,7 @@ use IO::Seekable; - use File::Compare; - use Exporter; - use Class::Struct; -+use File::Temp qw (tempdir); - - use GnuPG::Interface; - use GnuPG::Handles; -@@ -40,10 +41,25 @@ use vars qw( @ISA @EXPORT - - $gnupg = GnuPG::Interface->new( passphrase => 'test' ); - -+ -+my $homedir; -+if (-f "test/gnupghome") { -+ my $record = IO::File->new( "< test/gnupghome" ); -+ $homedir = <$record>; -+ $record->close(); -+} else { -+ $homedir = tempdir( DIR => '/tmp'); -+ my $record = IO::File->new( "> test/gnupghome" ); -+ $record->write($homedir); -+ $record->close(); -+} -+ - my @version = split('\.', $gnupg->version()); - $gpg_is_modern = ($version[0] > 2 || ($version[0] == 2 && $version[1] >= 1)); - --$gnupg->options->hash_init( homedir => 'test/gnupghome', -+ -+ -+$gnupg->options->hash_init( homedir => $homedir, - armor => 1, - meta_interactive => 0, - meta_signing_key_id => '0x93AFC4B1B0288A104996B44253AE596EF950DA9C', -diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t -index 7040c38..d1e3f30 100644 ---- a/t/list_secret_keys.t -+++ b/t/list_secret_keys.t -@@ -23,8 +23,9 @@ TEST - $outfile = 'test/secret-keys/1.out'; - my $out = IO::File->new( "> $outfile" ) - or die "cannot open $outfile for writing: $ERRNO"; -+ my $modern_pubring_line = $gnupg->options->homedir() . "/pubring.kbx\n"; - while (<$stdout>) { -- if ($gpg_is_modern && /^\/.*\/test\/gnupghome\/pubring.kbx$/) { -+ if ($gpg_is_modern && ($_ eq $modern_pubring_line)) { - $out->print("test/gnupghome/pubring.kbx\n"); - } elsif ($gpg_is_modern && /^--*$/) { - $out->print("--------------------------\n"); -diff --git a/t/zzz_cleanup.t b/t/zzz_cleanup.t -index eea3a48..c3ec16f 100644 ---- a/t/zzz_cleanup.t -+++ b/t/zzz_cleanup.t -@@ -11,9 +11,11 @@ use File::Path qw (remove_tree); - # this is actually no test, just cleanup. - TEST - { -+ my $homedir = $gnupg->options->homedir(); - my $err = []; - # kill off any long-lived gpg-agent, ignoring errors: -- system('gpgconf', '--homedir=test/gnupghome', '--quiet', '--kill', 'gpg-agent'); -- remove_tree('test/gnupghome', {error => \$err}); -+ system('gpgconf', '--homedir', $homedir, '--quiet', '--kill', 'gpg-agent'); -+ remove_tree($homedir, {error => \$err}); -+ unlink('test/gnupghome'); - return ! @$err; - }; diff --git a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0019-Make-things-work-with-gpg1-assuming-plain-gpg-is-mod.patch b/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0019-Make-things-work-with-gpg1-assuming-plain-gpg-is-mod.patch deleted file mode 100644 index ae6143190de3..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0019-Make-things-work-with-gpg1-assuming-plain-gpg-is-mod.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Fri, 26 May 2017 18:15:24 -0400 -Subject: Make things work with gpg1 (assuming plain 'gpg' is modern) - - * avoid sending --pinentry-mode=loopback if gpg is invoked as gpg1 - * fix up t/list_secret_keys to account for the varied output - * t/decrypt.t still fails two agent-only tests, but presumably folks - who use gpg1 are not expecting to use the agent. ---- - lib/GnuPG/Interface.pm | 5 ++++- - t/list_secret_keys.t | 9 +++++---- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/lib/GnuPG/Interface.pm b/lib/GnuPG/Interface.pm -index 5d8b0ec..f80ead5 100644 ---- a/lib/GnuPG/Interface.pm -+++ b/lib/GnuPG/Interface.pm -@@ -112,8 +112,11 @@ sub fork_attach_exec( $% ) { - # -- version 2.1.x or later. It's not clear to me how we can - # safely and efficiently avoid this assumption (see - # https://lists.gnupg.org/pipermail/gnupg-devel/2016-October/031800.html) -+ # -+ # as a (brittle and incomplete) cleanup, we will avoid trying to -+ # send pinentry-loopback if the program is invoked as "gpg1" - $use_loopback_pinentry = 1 -- if ($handles->passphrase()); -+ if ($handles->passphrase() && ! ($self->call =~ m/gpg1$/)); - - # deprecation support - $args{commands} ||= $args{gnupg_commands}; -diff --git a/t/list_secret_keys.t b/t/list_secret_keys.t -index d1e3f30..8e3c911 100644 ---- a/t/list_secret_keys.t -+++ b/t/list_secret_keys.t -@@ -23,11 +23,12 @@ TEST - $outfile = 'test/secret-keys/1.out'; - my $out = IO::File->new( "> $outfile" ) - or die "cannot open $outfile for writing: $ERRNO"; -- my $modern_pubring_line = $gnupg->options->homedir() . "/pubring.kbx\n"; -+ my $seckey_file = $gpg_is_modern ? 'pubring.kbx' : 'secring.gpg'; -+ my $pubring_line = $gnupg->options->homedir() . '/' . $seckey_file . "\n"; - while (<$stdout>) { -- if ($gpg_is_modern && ($_ eq $modern_pubring_line)) { -- $out->print("test/gnupghome/pubring.kbx\n"); -- } elsif ($gpg_is_modern && /^--*$/) { -+ if ($_ eq $pubring_line) { -+ $out->print('test/gnupghome/'.$seckey_file."\n"); -+ } elsif (/^--*$/) { - $out->print("--------------------------\n"); - } else { - $out->print( $_ ); 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 deleted file mode 100644 index 1268beeb0a21..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0030-gpg-2.2.6.patch +++ /dev/null @@ -1,54 +0,0 @@ -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 deleted file mode 100644 index 6c025007eef5..000000000000 --- a/dev-perl/GnuPG-Interface/files/GnuPG-Interface-0.520.0-0031-gpg-2.2.8.patch +++ /dev/null @@ -1,64 +0,0 @@ -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/)); -+ } - }; - - |