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).
> 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 <[email protected]>
> ---
> 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 [email protected] -o /dev/null --sign - 2>&1 &&
> --
> Todd