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> --- doc/makepkg.conf.5.txt | 4 ++-- scripts/makepkg.sh.in | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index b15f026..dade39a 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,7 @@ 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. 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 e20b707..f06cd6d 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2788,8 +2788,11 @@ 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" && -r "$XDG_PACMAN_DIR/makepkg.conf" ]] + source_safe "$XDG_PACMAN_DIR/makepkg.conf" +elif [[ $MAKEPKG_CONF = "$confdir/makepkg.conf" && -r "$HOME/.makepkg.conf" ]]; then + source_safe "$HOME/.makepkg.conf" fi # set pacman command if not already defined -- 2.0.1