Package: git-buildpackage
Version: 0.6.30
Severity: wishlist
Tags: patch

Hi,

Here a patch to allow use of XDG_CONFIG_HOME/debian/gbp.conf for settings.
Reading ~/.gbp.conf is still provided for convenience.

Regards,
Rodolphe

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.0.0-1-amd64 (SMP w/6 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages git-buildpackage depends on:
ii  devscripts            2.15.4
ii  git                   1:2.1.4+next.20141218-2
ii  man-db                2.7.0.2-5
ii  python                2.7.9-1
ii  python-dateutil       2.2-2
ii  python-pkg-resources  17.0-1
ii  python-six            1.9.0-3

Versions of packages git-buildpackage recommends:
ii  cowbuilder       0.73
ii  pristine-tar     1.33
ii  python-requests  2.7.0-2

Versions of packages git-buildpackage suggests:
ii  python-notify  0.1.1-4
ii  unzip          6.0-17

-- no debconf information
>From 81bec3b2bac61ac9ccfc3fb443850394e528782a Mon Sep 17 00:00:00 2001
From: Rodolphe PELLOUX-PRAYER <rodol...@damsy.net>
Date: Mon, 1 Jun 2015 23:26:09 +0200
Subject: [PATCH] Read gbp config from XDG_CONFIG_HOME.

---
 gbp/config.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gbp/config.py b/gbp/config.py
index dbe5690..854486f 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -310,6 +310,7 @@ class GbpOptionParser(OptionParser):
            }
 
     def_config_files = [ '/etc/git-buildpackage/gbp.conf',
+                         'XDG_CONFIG_HOME/debian/gbp.conf',
                          '~/.gbp.conf',
                          '%(top_dir)s/.gbp.conf',
                          '%(top_dir)s/debian/gbp.conf',
@@ -329,14 +330,15 @@ class GbpOptionParser(OptionParser):
         >>> conf_backup = os.getenv('GBP_CONF_FILES')
         >>> if conf_backup is not None: del os.environ['GBP_CONF_FILES']
         >>> homedir = os.path.expanduser("~")
+        >>> xdgconfhome = os.getenv('XDG_CONFIG_HOME') or os.path.expanduser('~/.config')
         >>> files = GbpOptionParser.get_config_files()
-        >>> files_mangled = [file.replace(homedir, 'HOME') for file in files]
+        >>> files_mangled = [file.replace(xdgconfhome, 'XDG_CONFIG_HOME').replace(homedir, 'HOME') for file in files]
         >>> files_mangled
-        ['/etc/git-buildpackage/gbp.conf', 'HOME/.gbp.conf', '%(top_dir)s/.gbp.conf', '%(top_dir)s/debian/gbp.conf', '%(git_dir)s/gbp.conf']
+        ['/etc/git-buildpackage/gbp.conf', 'XDG_CONFIG_HOME/debian/gbp.conf', 'HOME/.gbp.conf', '%(top_dir)s/.gbp.conf', '%(top_dir)s/debian/gbp.conf', '%(git_dir)s/gbp.conf']
         >>> files = GbpOptionParser.get_config_files(no_local=True)
-        >>> files_mangled = [file.replace(homedir, 'HOME') for file in files]
+        >>> files_mangled = [file.replace(xdgconfhome, 'XDG_CONFIG_HOME').replace(homedir, 'HOME') for file in files]
         >>> files_mangled
-        ['/etc/git-buildpackage/gbp.conf', 'HOME/.gbp.conf']
+        ['/etc/git-buildpackage/gbp.conf', 'XDG_CONFIG_HOME/debian/gbp.conf', 'HOME/.gbp.conf']
         >>> os.environ['GBP_CONF_FILES'] = 'test1:test2'
         >>> GbpOptionParser.get_config_files()
         ['test1', 'test2']
@@ -345,6 +347,7 @@ class GbpOptionParser(OptionParser):
         """
         envvar = os.environ.get('GBP_CONF_FILES')
         files = envvar.split(':') if envvar else klass.def_config_files
+        files = [fname.replace('XDG_CONFIG_HOME', os.getenv('XDG_CONFIG_HOME') or '~/.config') for fname in files]
         files = [os.path.expanduser(fname) for fname in files]
         if no_local:
             files = [fname for fname in files if fname.startswith('/')]
-- 
2.2.1.209.g41e5f3a

Reply via email to