summaryrefslogtreecommitdiffstats
path: root/scripts/pacman-key.sh.in
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-08-29 17:52:12 +0200
committerDan McGee <dan@archlinux.org>2011-08-30 02:55:28 +0200
commit8129b93afe13a6546f46c6615c316ed85f341191 (patch)
treef7aae9718dea334265a28e9c68334e5b47b87146 /scripts/pacman-key.sh.in
parente3676ae7b51fdaa68fcf2923c19681ec7d6f3952 (diff)
downloadpacman-8129b93afe13a6546f46c6615c316ed85f341191.tar.gz
pacman-8129b93afe13a6546f46c6615c316ed85f341191.tar.xz
pacman-key: fix broken logic around updating trust database
Any option that flips UPDATEDB=1 doesn't work right now due to what we thought was a good idea in commit cab1379a1ab14. Fix this by not including the update operation in the option count and special casing it where necessary. Also, bring back the helpful "Updating trust database" message. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts/pacman-key.sh.in')
-rw-r--r--scripts/pacman-key.sh.in14
1 files changed, 10 insertions, 4 deletions
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index fb42f938..c200d8e4 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -396,13 +396,16 @@ PACMAN_KEYRING_DIR=${PACMAN_KEYRING_DIR:-$(get_from "$CONFIG" "GPGDir" || echo "
GPG_PACMAN=(gpg --homedir ${PACMAN_KEYRING_DIR} --no-permission-warning)
# check only a single operation has been given
+# don't include UPDATEDB in here as other opts can induce it
numopt=$(( ADD + DELETE + EDITKEY + EXPORT + FINGER + IMPORT + IMPORT_TRUSTDB +
- INIT + LISTKEYS + LISTSIGS + POPULATE + RECEIVE + UPDATEDB + VERIFY ))
+ INIT + LISTKEYS + LISTSIGS + POPULATE + RECEIVE + VERIFY ))
case $numopt in
0)
- error "$(gettext "no operation specified (use -h for help)")"
- exit 1
+ if (( ! UPDATEDB )); then
+ error "$(gettext "no operation specified (use -h for help)")"
+ exit 1
+ fi
;;
[!1])
error "$(gettext "Multiple operations specified")"
@@ -427,6 +430,9 @@ esac
(( RECEIVE )) && receive_keys
(( VERIFY )) && "${GPG_PACMAN[@]}" --verify $SIGNATURE
-(( UPDATEDB )) && "${GPG_PACMAN[@]}" --batch --check-trustdb
+if (( UPDATEDB )); then
+ msg "$(gettext "Updating trust database...")"
+ "${GPG_PACMAN[@]}" --batch --check-trustdb
+fi
# vim: set ts=2 sw=2 noet: