@@ -32,6 +32,12 @@ function bail() {
3232tmp_gpgdir=" $( mktemp -d --tmpdir " $project -validate-tmpkeyring.XXXXXX" ) "
3333trap ' rm -r "$tmp_gpgdir"' EXIT
3434
35+ function gpg_user() {
36+ local user=$1
37+ shift
38+ gpg --homedir=" $tmp_gpgdir " --no-default-keyring --keyring=" $user .keyring" " $@ "
39+ }
40+
3541# Get the set of MAINTAINERS.
3642readarray -t maintainers < <( sed -E ' s|.* <.*> \(@?(.*)\)$|\1|' < " $root /MAINTAINERS" )
3743echo " ------------------------------------------------------------"
@@ -41,8 +47,7 @@ echo "------------------------------------------------------------"
4147
4248# Create a dummy gpg keyring from the set of MAINTAINERS.
4349while IFS=" " read -r username || [ -n " $username " ]; do
44- curl -sSL " https://github.com/$username .gpg" |
45- gpg --no-default-keyring --keyring=" $tmp_gpgdir /$username .keyring" --import
50+ curl -sSL " https://github.com/$username .gpg" | gpg_user " $username " --import
4651done < <( printf ' %s\n' " ${maintainers[@]} " )
4752
4853# Make sure all of the keys in the keyring have a github=... comment.
@@ -65,8 +70,7 @@ echo "------------------------------------------------------------"
6570echo " $project release managers:"
6671sed -En " s|^Comment:.* github=(\w+).*| * \1|p" < " $root /$project .keyring" | sort -u
6772echo " ------------------------------------------------------------"
68- gpg --no-default-keyring --keyring=" $tmp_gpgdir /keyring" \
69- --import --import-options=show-only < " $root /$project .keyring"
73+ gpg --show-keys < " $root /$project .keyring"
7074echo " ------------------------------------------------------------"
7175
7276# Check that each entry in the kering is actually a maintainer's key.
@@ -94,12 +98,10 @@ while IFS="" read -d $'\0' -r block || [ -n "$block" ]; do
9498 # fingerprint. See <https://github.com/gpg/gnupg/blob/master/doc/DETAILS>
9599 # for more details.
96100 while IFS=" " read -r key || [ -n " $key " ]; do
97- gpg --no-default-keyring --keyring=" $tmp_gpgdir /$username .keyring" \
98- --list-keys --with-colons | grep " $fprfield :::::::::$key :" > /dev/null ||
101+ gpg_user " $username " --list-keys --with-colons | grep " $fprfield :::::::::$key :" > /dev/null ||
99102 bail " (Sub?)Key $key in $project .keyring is NOT actually one of $username 's keys!"
100103 log " Successfully verified $username 's (sub?)key $key is legitimate."
101- done < <( gpg --no-default-keyring \
102- --import --import-options=show-only --with-colons <<< " $block" |
104+ done < <( gpg --show-keys --with-colons <<< " $block" |
103105 grep " ^$fprfield :" | cut -d: -f10)
104106done < <( awk < " $root /$project .keyring" '
105107 /^-----BEGIN PGP PUBLIC KEY BLOCK-----$/ { in_block=1 }
0 commit comments