mirror of
https://github.com/moparisthebest/pacman
synced 2025-01-09 04:57:59 -05:00
pacman-key: have --init add more options to default gpg.conf
This adds a add_gpg_conf_option() helper function which tries to be intelligent and only add not found options, and those which have not been explicitly commented out. The new options added are 'no-greeting', 'no-permission-warning', and a default 'keyserver'. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
7ceeebf150
commit
12a6c77fdd
@ -100,7 +100,22 @@ get_from() {
|
||||
return 1
|
||||
}
|
||||
|
||||
# Adds the given gpg.conf option if it is not present in the file.
|
||||
# Note that if we find it commented out, we won't add the option.
|
||||
# args: $1 conffile, $2 option-name, $3 (optional) option-value
|
||||
add_gpg_conf_option() {
|
||||
local confline
|
||||
# looking for the option 'bare', only leading spaces or # chars allowed,
|
||||
# followed by at least one space and any other text or the end of line.
|
||||
if ! grep -q "^[[:space:]#]*$2\([[:space:]].*\)*$" "$1" &>/dev/null; then
|
||||
confline="$2"
|
||||
[[ -n $3 ]] && confline="$2 $3"
|
||||
echo "$confline" >> "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
initialize() {
|
||||
local conffile
|
||||
# Check for simple existence rather than for a directory as someone
|
||||
# may want to use a symlink here
|
||||
[[ -e ${PACMAN_KEYRING_DIR} ]] || mkdir -p -m 755 "${PACMAN_KEYRING_DIR}"
|
||||
@ -113,11 +128,13 @@ initialize() {
|
||||
chmod 600 ${PACMAN_KEYRING_DIR}/secring.gpg
|
||||
|
||||
# gpg.conf
|
||||
[[ -f ${PACMAN_KEYRING_DIR}/gpg.conf ]] || touch ${PACMAN_KEYRING_DIR}/gpg.conf
|
||||
chmod 644 ${PACMAN_KEYRING_DIR}/gpg.conf
|
||||
if ! grep -w -q "lock-never" ${PACMAN_KEYRING_DIR}/gpg.conf &>/dev/null; then
|
||||
echo "lock-never" >> ${PACMAN_KEYRING_DIR}/gpg.conf
|
||||
fi
|
||||
conffile="${PACMAN_KEYRING_DIR}/gpg.conf"
|
||||
[[ -f $conffile ]] || touch "$conffile"
|
||||
chmod 644 "$conffile"
|
||||
add_gpg_conf_option "$conffile" 'no-greeting'
|
||||
add_gpg_conf_option "$conffile" 'no-permission-warning'
|
||||
add_gpg_conf_option "$conffile" 'lock-never'
|
||||
add_gpg_conf_option "$conffile" 'keyserver' 'hkp://keys.gnupg.net'
|
||||
}
|
||||
|
||||
check_keyring() {
|
||||
|
Loading…
Reference in New Issue
Block a user