Config file option for gbp tmp directory
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Thu, 5 Dec 2013 09:53:02 +0000 (11:53 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Mon, 9 Dec 2013 15:05:37 +0000 (17:05 +0200)
Add a new config file option for configuring the temporary directory
that git-buildpackage uses when it is run.

Change-Id: I6d52c522b217ee1473931b1011fe7e679048903e
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
config/git-buildpackage
obs_service_gbp/command.py

index defb0f7..840f9bb 100644 (file)
@@ -9,6 +9,11 @@
 ## the default directory is likely not accessible by regular users.
 #repo-cache-dir = /var/cache/obs/git-buildpackage-repos/
 
+## Temporary directory for git-buildpackage
+## Default is '/tmp/obs-service-gbp/'
+## This directory must be accessible for the user/group configured below.
+#gbp-tmp-dir = /tmp/obs-service-gbp/
+
 ## User and group
 ## The user and group under which git-buildpackage is run. The service itself
 ## is run under whatever user/group the source service server is configured to
index 91b97de..758b9f2 100644 (file)
@@ -42,12 +42,13 @@ def have_spec(directory):
             return False
     return True
 
-def construct_gbp_args(args, outdir):
+def construct_gbp_args(args, config, outdir):
     """Construct args list for git-buildpackage-rpm"""
     # Args common to deb and rpm
     argv_common = ['--git-ignore-branch',
                    '--git-no-hooks',
-                   '--git-export-dir=%s' % outdir]
+                   '--git-export-dir=%s' % outdir,
+                   '--git-tmp-dir=%s' % config['gbp-tmp-dir']]
     if args.revision:
         argv_common.append('--git-export=%s' % args.revision)
     if args.verbose == 'yes':
@@ -74,6 +75,7 @@ def construct_gbp_args(args, outdir):
 def read_config(filenames):
     '''Read configuration file(s)'''
     defaults = {'repo-cache-dir': '/var/cache/obs/git-buildpackage-repos/',
+                'gbp-tmp-dir': '/tmp/obs-service-gbp/',
                 'gbp-user': None,
                 'gbp-group': None}
 
@@ -116,7 +118,7 @@ def gbp_export(repo, args, config):
     os.chown(tmp_out, uid, gid)
 
     # Call GBP
-    rpm_args, deb_args = construct_gbp_args(args, tmp_out)
+    rpm_args, deb_args = construct_gbp_args(args, config, tmp_out)
     orig_dir = os.path.abspath(os.curdir)
     try:
         os.chdir(repo.repodir)