summaryrefslogtreecommitdiffstats
path: root/scripts/pacman-key.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/pacman-key.sh.in')
-rw-r--r--scripts/pacman-key.sh.in12
1 files changed, 5 insertions, 7 deletions
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index 6a350af6..7b9f80ba 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -232,17 +232,15 @@ populate_keyring() {
fi
done
- # List of keys that must be kept installed, even if in the list of keys to be removed
- local HOLD_KEYS="$(get_from "$CONFIG" "HoldKeys")"
-
- # Remove the keys that must be kept from the set of keys that should be removed
- if [[ -n ${HOLD_KEYS} ]]; then
- for key in ${HOLD_KEYS}; do
+ # Read list of keys that must be kept installed and remove them from the list
+ # of keys to be removed
+ if [[ -f "${PACMAN_KEYRING_DIR}/holdkeys" ]]; then
+ while read key; do
key_id="$("${GPG_PACMAN[@]}" --quiet --with-colons --list-key "${key}" | grep ^pub | cut -d: -f5)"
if [[ -n "${removed_ids[$key_id]}" ]]; then
unset removed_ids[$key_id]
fi
- done
+ done < "${PACMAN_KEYRING_DIR}/holdkeys"
fi
# Remove the keys not marked to keep