summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlocalgpgcleankeyring11
1 files changed, 7 insertions, 4 deletions
diff --git a/localgpgcleankeyring b/localgpgcleankeyring
index b7fb205..96ee875 100755
--- a/localgpgcleankeyring
+++ b/localgpgcleankeyring
@@ -5,8 +5,11 @@
set -e
+# set e.g. GPG=gpg2 in environment to override binary to use
+GPG=${GPG:-gpg}
+
# my keys are those with a corresponding secret key
-mykeys=$(gpg --batch --list-secret-keys --with-colons | grep '^sec' | cut -d: -f5)
+mykeys=$($GPG --batch --list-secret-keys --with-colons | grep '^sec' | cut -d: -f5)
if [ -z "$mykeys" ]; then
# exit if no key string
echo "Can't get user's key ID"
@@ -14,7 +17,7 @@ if [ -z "$mykeys" ]; then
fi
# all of the people who have signed my key
-mysigners=$(gpg --batch --list-sigs --with-colons $mykeys | grep '^sig' | cut -d: -f5 | sort -u)
+mysigners=$($GPG --batch --list-sigs --with-colons $mykeys | grep '^sig' | cut -d: -f5 | sort -u)
# keep all of the signers, plus my key (if I haven't self-signed)
keepers=$(echo $mykeys $mysigners | tr ' ' '\012' | sort -u)
@@ -23,10 +26,10 @@ keepers=$(echo $mykeys $mysigners | tr ' ' '\012' | sort -u)
keepers_egrep=$(echo $keepers | sed 's/^/^(/; s/$/)/; s/ /|/g;')
# everyone who isn't on the keepers list is deleted
-deleters=$(gpg --batch --list-keys --with-colons | grep '^pub' | cut -d: -f5 | egrep -v ${keepers_egrep})
+deleters=$($GPG --batch --list-keys --with-colons | grep '^pub' | cut -d: -f5 | egrep -v ${keepers_egrep})
if [ -z "$deleters" ]; then
echo "# Nothing to delete!"
else
- gpg --batch "$@" --delete-keys $deleters
+ $GPG --batch "$@" --delete-keys $deleters
fi