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
1 changed files with 22 additions and 5 deletions
|
@ -100,7 +100,22 @@ get_from() {
|
||||||
return 1
|
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() {
|
initialize() {
|
||||||
|
local conffile
|
||||||
# Check for simple existence rather than for a directory as someone
|
# Check for simple existence rather than for a directory as someone
|
||||||
# may want to use a symlink here
|
# may want to use a symlink here
|
||||||
[[ -e ${PACMAN_KEYRING_DIR} ]] || mkdir -p -m 755 "${PACMAN_KEYRING_DIR}"
|
[[ -e ${PACMAN_KEYRING_DIR} ]] || mkdir -p -m 755 "${PACMAN_KEYRING_DIR}"
|
||||||
|
@ -113,11 +128,13 @@ initialize() {
|
||||||
chmod 600 ${PACMAN_KEYRING_DIR}/secring.gpg
|
chmod 600 ${PACMAN_KEYRING_DIR}/secring.gpg
|
||||||
|
|
||||||
# gpg.conf
|
# gpg.conf
|
||||||
[[ -f ${PACMAN_KEYRING_DIR}/gpg.conf ]] || touch ${PACMAN_KEYRING_DIR}/gpg.conf
|
conffile="${PACMAN_KEYRING_DIR}/gpg.conf"
|
||||||
chmod 644 ${PACMAN_KEYRING_DIR}/gpg.conf
|
[[ -f $conffile ]] || touch "$conffile"
|
||||||
if ! grep -w -q "lock-never" ${PACMAN_KEYRING_DIR}/gpg.conf &>/dev/null; then
|
chmod 644 "$conffile"
|
||||||
echo "lock-never" >> ${PACMAN_KEYRING_DIR}/gpg.conf
|
add_gpg_conf_option "$conffile" 'no-greeting'
|
||||||
fi
|
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() {
|
check_keyring() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue