Hi Fabien, Fabian Stelzer wrote: > On 03.02.2022 15:01, Todd Zullinger wrote: >> (To be clear, I mean "clever and wrong" in regard to my use >> of the string list API, not anyone else's code.) > > string_list_split seems a bit like overkill. I have little doubt that the string_list_split() method is far from ideal. :) > I looked for sth like this but gpgs --help does not list it so i didn't dig > deeper. I've checked the blame and it seems like this was introduced >19 > years ago. So i guess we can probably use this ^^ Indeed, the --with-colons output goes much further back in the GnuPG history than Git will ever have to care about. >> --- a/t/lib-gpg.sh >> +++ b/t/lib-gpg.sh >> @@ -72,12 +72,10 @@ test_lazy_prereq GPGSM ' >> --passphrase-fd 0 --pinentry-mode loopback \ >> --import "$TEST_DIRECTORY"/lib-gpg/gpgsm_cert.p12 && >> >> - gpgsm --homedir "${GNUPGHOME}" -K | >> - grep fingerprint: | >> - cut -d" " -f4 | >> - tr -d "\\n" >"${GNUPGHOME}/trustlist.txt" && >> + gpgsm --homedir "${GNUPGHOME}" -K --with-colons | >> + awk -F ":" "/^fpr:/ {printf \"%s S relax\\n\", \$10}" \ >> + >"${GNUPGHOME}/trustlist.txt" && > > This does not quite work for me. It will add the fingerprint without the > colons into the trustlist which is not valid :/ The colons are optional, and have been documented as such since cb1840720 ((Agent Configuration): New section., 2005-04-20). The text in the gpg-agent docs from GnuPG 2.2 say: Colons may optionally be used to separate the bytes of a fingerprint; this enables cutting and pasting the fingerprint from a key listing output. Source: https://dev.gnupg.org/source/gnupg/browse/STABLE-BRANCH-2-2/doc/gpg-agent.texi;8021fe7670c79d5c698ec3fb600b02a9e5afb415$756?as=source&blame=off How did it fail for you? It passes all the tests when I've run it against Fedora and RHEL-based hosts. If it's flaky on other systems, that would put a damper on doing it this way. Though it _should_ work. [Note to myself] We don't just generate the key data, trustlist, etc. and store it in t/lib-gpg like we do with some other files per b41a36e635 (tests: create gpg homedir on the fly, 2014-12-12). That was because the gnupg home directory layout changed a bit between 2.0 and 2.1. Thanks, -- Todd