[pacman-dev] [PATCH] 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> --- Allan broke it! :) But in all seriousness, this code is getting a bit hacky/dirty, so open to other suggestions if we can clean anything up. scripts/pacman-key.sh.in | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in index 1bac3d3..0b46b10 100644 --- a/scripts/pacman-key.sh.in +++ b/scripts/pacman-key.sh.in @@ -419,13 +419,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")" @@ -450,6 +453,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: -- 1.7.6.1
participants (1)
-
Dan McGee