summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay Kohler <ataraxia937@gmail.com>2011-03-27 12:14:15 -0400
committerDan McGee <dan@archlinux.org>2011-03-27 21:50:52 -0500
commit4ef664f485559b0764271184a5305808b1a2e911 (patch)
tree5b6be5f0c6d1e98af91797afe28306095a60f346
parentc3ae209246804e9aebdc04c958548e340ff8998f (diff)
downloadpacman-4ef664f485559b0764271184a5305808b1a2e911.tar.gz
pacman-4ef664f485559b0764271184a5305808b1a2e911.zip
Create pacman keyring directory if missing
Use mode 755, so non-root users can see inside. Add "--no-permission-warning" to GPG_PACMAN to suppress the noise that otherwise comes of not using mode 700 - this is not private data. GPGme turns out not to issue this warning itself, so no problem there. TODO: should non-root users be allowed to use the read-only operations (--list, --export, --finger)? Signed-off-by: Ray Kohler <ataraxia937@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/pacman-key.sh.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index 5746e64f..89e52fc0 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -244,7 +244,12 @@ fi
if [[ GPGDIR=$(find_config "GPGDir") == 0 ]]; then
PACMAN_KEYRING_DIR="${GPGDIR}"
fi
-GPG_PACMAN="gpg --homedir ${PACMAN_KEYRING_DIR}"
+GPG_PACMAN="gpg --homedir ${PACMAN_KEYRING_DIR} --no-permission-warning"
+
+# Try to create $PACMAN_KEYRING_DIR if non-existent
+# 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}"
# Parse and execute command
command="$1"