Re: [PATCH 1/2] t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt
From: SZEDER Gábor <hidden>
Date: 2019-02-08 20:11:11
On Thu, Feb 07, 2019 at 10:17:45PM -0500, Todd Zullinger wrote:
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:s/error/warning/
$ 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.Likewise. POSIX says that no field splitting should be performed on the result of a parameter expansion that is used as the target of a redirection, but Bash doesn't conform in this respect (unless in POSIX mode).
quoted hunk ↗ jump to hunk
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 <redacted> --- 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 &&-- Todd