Add gnupg2-smime and perl JSON BuildRequires for tests
In addition to the gnupg2-smime BR, patch an issue which prevents the gpgsm tests from running. Only include gpgsm on Fedora and RHEL > 8. On RHEL < 8 the gnupg2-smime package is too old to run the tests.
This commit is contained in:
parent
a245ca5676
commit
a74fadafe7
39
0001-t-lib-gpg-quote-path-to-GNUPGHOME-trustlist.txt.patch
Normal file
39
0001-t-lib-gpg-quote-path-to-GNUPGHOME-trustlist.txt.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From 32ca60bbf5bb3020bbf24036bc61003711ace611 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Todd Zullinger <tmz@pobox.com>
|
||||||
|
Date: Fri, 1 Feb 2019 19:36:41 -0500
|
||||||
|
Subject: [PATCH 1/2] t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt
|
||||||
|
|
||||||
|
When gpgsm is installed, lib-gpg.sh attempts to update trustlist.txt to
|
||||||
|
relax the checking of some root certificate requirements. The path to
|
||||||
|
"${GNUPGHOME}" contains spaces which cause an "ambiguous redirect"
|
||||||
|
warning when bash is used to run the tests:
|
||||||
|
|
||||||
|
$ bash t7030-verify-tag.sh
|
||||||
|
/git/t/lib-gpg.sh: line 66: ${GNUPGHOME}/trustlist.txt: ambiguous redirect
|
||||||
|
ok 1 - create signed tags
|
||||||
|
ok 2 # skip create signed tags x509 (missing GPGSM)
|
||||||
|
...
|
||||||
|
|
||||||
|
No warning is issued when using bash called as /bin/sh, dash, or mksh.
|
||||||
|
|
||||||
|
Quote the path to ensure the redirect works as intended and sets the
|
||||||
|
GPGSM prereq. While we're here, drop the space after ">>".
|
||||||
|
|
||||||
|
Signed-off-by: Todd Zullinger <tmz@pobox.com>
|
||||||
|
---
|
||||||
|
t/lib-gpg.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh
|
||||||
|
index f1277bef4f..207009793b 100755
|
||||||
|
--- a/t/lib-gpg.sh
|
||||||
|
+++ b/t/lib-gpg.sh
|
||||||
|
@@ -63,7 +63,7 @@ then
|
||||||
|
cut -d" " -f4 |
|
||||||
|
tr -d '\n' >"${GNUPGHOME}/trustlist.txt" &&
|
||||||
|
|
||||||
|
- echo " S relax" >> ${GNUPGHOME}/trustlist.txt &&
|
||||||
|
+ echo " S relax" >>"${GNUPGHOME}/trustlist.txt" &&
|
||||||
|
(gpgconf --kill gpg-agent >/dev/null 2>&1 || : ) &&
|
||||||
|
echo hello | gpgsm --homedir "${GNUPGHOME}" >/dev/null \
|
||||||
|
-u committer@example.com -o /dev/null --sign - 2>&1 &&
|
40
0002-t-lib-gpg-drop-redundant-killing-of-gpg-agent.patch
Normal file
40
0002-t-lib-gpg-drop-redundant-killing-of-gpg-agent.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 09436d6a5b6db6ab8e80ab449b3b841883b27d19 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Todd Zullinger <tmz@pobox.com>
|
||||||
|
Date: Sat, 2 Feb 2019 02:31:52 -0500
|
||||||
|
Subject: [PATCH 2/2] t/lib-gpg: drop redundant killing of gpg-agent
|
||||||
|
|
||||||
|
In 53fc999306 ("gpg-interface t: extend the existing GPG tests with
|
||||||
|
GPGSM", 2018-07-20), the gpgconf call which kills gpg-agent was copied
|
||||||
|
from the existing gpg setup code.
|
||||||
|
|
||||||
|
The reason for killing gpg-agent is given in 29ff1f8f74 ("t: lib-gpg:
|
||||||
|
flush gpg agent on startup", 2017-07-20):
|
||||||
|
|
||||||
|
When running gpg-relevant tests, a gpg-daemon is spawned for each
|
||||||
|
GNUPGHOME used. This daemon may stay running after the test and cache
|
||||||
|
file descriptors for the trash directories, even after the trash
|
||||||
|
directory is removed. This leads to ENOENT errors when attempting to
|
||||||
|
create files if tests are run multiple times.
|
||||||
|
|
||||||
|
Add a cleanup script to force flushing the gpg-agent for that GNUPGHOME
|
||||||
|
(if any) before setting up the GPG relevant-environment.
|
||||||
|
|
||||||
|
Killing gpg-agent once per test is sufficient.
|
||||||
|
|
||||||
|
Signed-off-by: Todd Zullinger <tmz@pobox.com>
|
||||||
|
---
|
||||||
|
t/lib-gpg.sh | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh
|
||||||
|
index 207009793b..8d28652b72 100755
|
||||||
|
--- a/t/lib-gpg.sh
|
||||||
|
+++ b/t/lib-gpg.sh
|
||||||
|
@@ -64,7 +64,6 @@ then
|
||||||
|
tr -d '\n' >"${GNUPGHOME}/trustlist.txt" &&
|
||||||
|
|
||||||
|
echo " S relax" >>"${GNUPGHOME}/trustlist.txt" &&
|
||||||
|
- (gpgconf --kill gpg-agent >/dev/null 2>&1 || : ) &&
|
||||||
|
echo hello | gpgsm --homedir "${GNUPGHOME}" >/dev/null \
|
||||||
|
-u committer@example.com -o /dev/null --sign - 2>&1 &&
|
||||||
|
test_set_prereq GPGSM
|
11
git.spec
11
git.spec
@ -119,6 +119,12 @@ Source99: print-failed-test-output
|
|||||||
|
|
||||||
# https://bugzilla.redhat.com/490602
|
# https://bugzilla.redhat.com/490602
|
||||||
Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
Patch0: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
||||||
|
# Fix "ambiguous redirect" in t/lib-gpg.sh; it causes gpgsm tests to be skipped
|
||||||
|
# https://public-inbox.org/git/20190208031746.22683-2-tmz@pobox.com/
|
||||||
|
Patch2: 0001-t-lib-gpg-quote-path-to-GNUPGHOME-trustlist.txt.patch
|
||||||
|
# t/lib-gpg: drop redundant killing of gpg-agent
|
||||||
|
# https://public-inbox.org/git/20190208031746.22683-3-tmz@pobox.com/
|
||||||
|
Patch3: 0002-t-lib-gpg-drop-redundant-killing-of-gpg-agent.patch
|
||||||
|
|
||||||
%if %{with docs}
|
%if %{with docs}
|
||||||
# pod2man is needed to build Git.3pm
|
# pod2man is needed to build Git.3pm
|
||||||
@ -186,6 +192,9 @@ BuildRequires: glibc-langpack-en
|
|||||||
BuildRequires: glibc-langpack-is
|
BuildRequires: glibc-langpack-is
|
||||||
%endif # use_glibc_langpacks
|
%endif # use_glibc_langpacks
|
||||||
BuildRequires: gnupg
|
BuildRequires: gnupg
|
||||||
|
%if 0%{?fedora} || 0%{?rhel} > 8
|
||||||
|
BuildRequires: gnupg2-smime
|
||||||
|
%endif # fedora or el > 8
|
||||||
%if 0%{?fedora} || ( 0%{?rhel} && ( 0%{?rhel} == 6 || 0%{?rhel} >= 7 && %{_arch} != ppc64 ))
|
%if 0%{?fedora} || ( 0%{?rhel} && ( 0%{?rhel} == 6 || 0%{?rhel} >= 7 && %{_arch} != ppc64 ))
|
||||||
BuildRequires: highlight
|
BuildRequires: highlight
|
||||||
%endif # fedora, el-6, or el7-ppc64
|
%endif # fedora, el-6, or el7-ppc64
|
||||||
@ -202,6 +211,7 @@ BuildRequires: perl(DBD::SQLite)
|
|||||||
BuildRequires: perl(Digest::MD5)
|
BuildRequires: perl(Digest::MD5)
|
||||||
BuildRequires: perl(HTTP::Date)
|
BuildRequires: perl(HTTP::Date)
|
||||||
BuildRequires: perl(IO::Pty)
|
BuildRequires: perl(IO::Pty)
|
||||||
|
BuildRequires: perl(JSON)
|
||||||
BuildRequires: perl(Mail::Address)
|
BuildRequires: perl(Mail::Address)
|
||||||
BuildRequires: perl(Memoize)
|
BuildRequires: perl(Memoize)
|
||||||
BuildRequires: perl(Test::More)
|
BuildRequires: perl(Test::More)
|
||||||
@ -925,6 +935,7 @@ make -C contrib/credential/netrc/ testverbose
|
|||||||
- Remove extraneous pcre BuildRequires
|
- Remove extraneous pcre BuildRequires
|
||||||
- Add additional BuildRequires for i18n locales used in tests
|
- Add additional BuildRequires for i18n locales used in tests
|
||||||
- Replace gitweb home-link with inline sed
|
- Replace gitweb home-link with inline sed
|
||||||
|
- Add gnupg2-smime and perl JSON BuildRequires for tests
|
||||||
|
|
||||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.1-1.1
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.1-1.1
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
Loading…
Reference in New Issue
Block a user