diff options
author | Johannes Löthberg <johannes@kyriasis.com> | 2014-07-02 17:04:13 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2014-08-03 18:46:31 +1000 |
commit | 80eca94c8eec7dfeda02eff437309c4e20931afd (patch) | |
tree | 8fed521025c8d286bed8bd07cc812657a81c5cd0 | |
parent | 0e18cefe3857b35b90fa1bfb2c5edb7dd8ad2866 (diff) | |
download | pacman-80eca94c8eec7dfeda02eff437309c4e20931afd.tar.xz |
makepkg: Respect XDG_CONFIG_HOME
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 <johannes@kyriasis.com>
[Allan] Note XDG_CONFIG_HOME takes priority.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | doc/makepkg.conf.5.txt | 5 | ||||
-rw-r--r-- | 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 |