summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/makepkg.conf.5.txt5
-rw-r--r--scripts/makepkg.sh.in9
2 files changed, 10 insertions, 4 deletions
diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index b15f026c..af4df201 100644
--- a/doc/makepkg.conf.5.txt
+++ b/doc/makepkg.conf.5.txt
@@ -11,7 +11,7 @@ makepkg.conf - makepkg configuration file
Synopsis
--------
-{sysconfdir}/makepkg.conf, ~/.makepkg.conf
+{sysconfdir}/makepkg.conf, $XDG_CONFIG_HOME/pacman/makepkg.conf, ~/.makepkg.conf
Description
@@ -27,7 +27,8 @@ variables. Some of them are non-standard.
The system-wide configuration file is found in {sysconfdir}/makepkg.conf.
Individual options can be overridden (or added to) on a per-user basis in
-~/.makepkg.conf.
+$XDG_CONFIG_HOME/pacman/makepkg.conf or ~/.makepkg.conf, with the former
+taking priority.
The default file is fairly well commented, so it may be easiest to simply
follow directions given there for customization.
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 779ebcbf..d0c5a6b1 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -2789,8 +2789,13 @@ fi
# Source user-specific makepkg.conf overrides, but only if no override config
# file was specified
-if [[ $MAKEPKG_CONF = "$confdir/makepkg.conf" && -r ~/.makepkg.conf ]]; then
- source_safe ~/.makepkg.conf
+XDG_PACMAN_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/pacman"
+if [[ "$MAKEPKG_CONF" = "$confdir/makepkg.conf" ]]; then
+ if [[ -r "$XDG_PACMAN_DIR/makepkg.conf" ]]; then
+ source_safe "$XDG_PACMAN_DIR/makepkg.conf"
+ elif [[ -r "$HOME/.makepkg.conf" ]]; then
+ source_safe "$HOME/.makepkg.conf"
+ fi
fi
# set pacman command if not already defined