From 80eca94c8eec7dfeda02eff437309c4e20931afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= Date: Wed, 2 Jul 2014 17:04:13 +0200 Subject: [PATCH] makepkg: Respect XDG_CONFIG_HOME MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for following the XDG Base Directory Specification when reading the user-specific configuration file. If no $XDG_CONFIG_HOME/pacman/makepkg.conf file exists we fall back to sourcing $HOME/.makepkg.conf Signed-off-by: Johannes Löthberg [Allan] Note XDG_CONFIG_HOME takes priority. Signed-off-by: Allan McRae --- doc/makepkg.conf.5.txt | 5 +++-- scripts/makepkg.sh.in | 9 +++++++-- 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