Turn gpg commands into functions in pacman-key
Adds functions for every gpg command. By pulling out the gpg commands from the "program start" section, additional commands can be run before or after a specific gpg command without adding additional clutter to the function call section. Adds an explicit exit status of 0 to prevent arithmetic expansions from returning non-zero, thereby falsely causing pacman-key to have a non-zero exit status. This change creates the framework for additional error messages and better exit statuses being added to every pacman-key gpg call. Signed-off-by: canyonknight <canyonknight@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
430b0df779
commit
24ca6ce1f9
1 changed files with 58 additions and 16 deletions
|
@ -338,6 +338,14 @@ populate_keyring() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --quiet --batch --import "${KEYFILES[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --quiet --batch --delete-key --yes "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
edit_keys() {
|
edit_keys() {
|
||||||
local errors=0;
|
local errors=0;
|
||||||
for key in "${KEYIDS[@]}"; do
|
for key in "${KEYIDS[@]}"; do
|
||||||
|
@ -354,6 +362,14 @@ edit_keys() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --armor --export "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
finger_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --batch --fingerprint "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
import_trustdb() {
|
import_trustdb() {
|
||||||
local importdir
|
local importdir
|
||||||
|
|
||||||
|
@ -375,6 +391,35 @@ import() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --batch --list-keys "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
list_sigs() {
|
||||||
|
"${GPG_PACMAN[@]}" --batch --list-sigs "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
lsign_keys() {
|
||||||
|
printf 'y\ny\n' | LANG=C "${GPG_PACMAN[@]}" --command-fd 0 --quiet --batch --lsign-key "${KEYIDS[@]}" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
receive_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --recv-keys "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
refresh_keys() {
|
||||||
|
"${GPG_PACMAN[@]}" --refresh-keys "${KEYIDS[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
verify_sig() {
|
||||||
|
"${GPG_PACMAN[@]}" --verify $SIGNATURE
|
||||||
|
}
|
||||||
|
|
||||||
|
updatedb() {
|
||||||
|
msg "$(gettext "Updating trust database...")"
|
||||||
|
"${GPG_PACMAN[@]}" --batch --check-trustdb
|
||||||
|
}
|
||||||
|
|
||||||
# PROGRAM START
|
# PROGRAM START
|
||||||
if ! type gettext &>/dev/null; then
|
if ! type gettext &>/dev/null; then
|
||||||
gettext() {
|
gettext() {
|
||||||
|
@ -476,27 +521,24 @@ esac
|
||||||
|
|
||||||
(( ! INIT )) && check_keyring
|
(( ! INIT )) && check_keyring
|
||||||
|
|
||||||
(( ADD )) && "${GPG_PACMAN[@]}" --quiet --batch --import "${KEYFILES[@]}"
|
(( ADD )) && add_keys
|
||||||
(( DELETE )) && "${GPG_PACMAN[@]}" --quiet --batch --delete-key --yes "${KEYIDS[@]}"
|
(( DELETE )) && delete_keys
|
||||||
(( EDITKEY )) && edit_keys
|
(( EDITKEY )) && edit_keys
|
||||||
(( EXPORT )) && "${GPG_PACMAN[@]}" --armor --export "${KEYIDS[@]}"
|
(( EXPORT )) && export_keys
|
||||||
(( FINGER )) && "${GPG_PACMAN[@]}" --batch --fingerprint "${KEYIDS[@]}"
|
(( FINGER )) && finger_keys
|
||||||
(( IMPORT )) && import
|
(( IMPORT )) && import
|
||||||
(( IMPORT_TRUSTDB)) && import_trustdb
|
(( IMPORT_TRUSTDB)) && import_trustdb
|
||||||
(( INIT )) && initialize
|
(( INIT )) && initialize
|
||||||
(( LISTKEYS )) && "${GPG_PACMAN[@]}" --batch --list-keys "${KEYIDS[@]}"
|
(( LISTKEYS )) && list_keys
|
||||||
(( LISTSIGS )) && "${GPG_PACMAN[@]}" --batch --list-sigs "${KEYIDS[@]}"
|
(( LISTSIGS )) && list_sigs
|
||||||
if (( LSIGNKEY )); then
|
(( LSIGNKEY )) && lsign_keys
|
||||||
printf 'y\ny\n' | LANG=C "${GPG_PACMAN[@]}" --command-fd 0 --quiet --batch --lsign-key "${KEYIDS[@]}" 2>/dev/null
|
|
||||||
fi
|
|
||||||
(( POPULATE )) && populate_keyring
|
(( POPULATE )) && populate_keyring
|
||||||
(( RECEIVE )) && "${GPG_PACMAN[@]}" --recv-keys "${KEYIDS[@]}"
|
(( RECEIVE )) && receive_keys
|
||||||
(( REFRESH )) && "${GPG_PACMAN[@]}" --refresh-keys "${KEYIDS[@]}"
|
(( REFRESH )) && refresh_keys
|
||||||
(( VERIFY )) && "${GPG_PACMAN[@]}" --verify "$SIGNATURE"
|
(( VERIFY )) && verify_sig
|
||||||
|
|
||||||
if (( UPDATEDB )); then
|
(( UPDATEDB )) && updatedb
|
||||||
msg "$(gettext "Updating trust database...")"
|
|
||||||
"${GPG_PACMAN[@]}" --batch --check-trustdb
|
exit 0
|
||||||
fi
|
|
||||||
|
|
||||||
# vim: set ts=2 sw=2 noet:
|
# vim: set ts=2 sw=2 noet:
|
||||||
|
|
Loading…
Add table
Reference in a new issue