aboutsummaryrefslogtreecommitdiffhomepage
path: root/gbp
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2017-01-17 20:10:00 +0100
committerGuido Günther <agx@sigxcpu.org>2017-01-17 20:11:01 +0100
commit1140886c80d5ef029bfd7b37b9ff8a24f07e6a69 (patch)
tree50907fe22435da93a1c1c55a96637f58cafa9020 /gbp
parent4eb8c383ad862cbf1fc6c3f7b86400869079035b (diff)
buildpackage: Don't set a compression level if unset and make this the default
This allows compressors to use the their default compression level. Only applies when not using pristine-tar. Thanks: Antoine Beaupré for investigating Closes: #820846
Diffstat (limited to 'gbp')
-rw-r--r--gbp/config.py2
-rwxr-xr-xgbp/scripts/buildpackage.py12
-rw-r--r--gbp/scripts/buildpackage_rpm.py16
-rw-r--r--gbp/scripts/common/buildpackage.py14
4 files changed, 29 insertions, 15 deletions
diff --git a/gbp/config.py b/gbp/config.py
index 557e12c4..433bd207 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -142,7 +142,7 @@ class GbpOptionParser(OptionParser):
'git-author': 'False',
'ignore-regex': '',
'compression': 'auto',
- 'compression-level': '9',
+ 'compression-level': '',
'remote-url-pattern': 'ssh://git.debian.org/git/collab-maint/%(pkg)s.git',
'multimaint': 'True',
'multimaint-merge': 'False',
diff --git a/gbp/scripts/buildpackage.py b/gbp/scripts/buildpackage.py
index 04c5e938..8c5a8f94 100755
--- a/gbp/scripts/buildpackage.py
+++ b/gbp/scripts/buildpackage.py
@@ -1,6 +1,6 @@
# vim: set fileencoding=utf-8 :
#
-# (C) 2006-2016 Guido Günther <agx@sigxcpu.org>
+# (C) 2006-2017 Guido Günther <agx@sigxcpu.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
@@ -318,12 +318,14 @@ def git_archive_build_orig(repo, cp, output_dir, options):
gbp.log.info("Creating %s from '%s'" % (du.orig_file(cp,
options.comp_type),
upstream_tree))
- gbp.log.debug("Building upstream tarball with compression '%s -%s'" %
- (options.comp_type, options.comp_level))
+ comp_level = int(options.comp_level) if options.comp_level != '' else None
+ gbp.log.debug("Building upstream tarball with compression '%s'%s" %
+ (options.comp_type,
+ "' -%s'" % comp_level if comp_level is not None else ''))
main_tree = repo.tree_drop_dirs(upstream_tree, options.components)
if not git_archive(repo, cp, output_dir, main_tree,
options.comp_type,
- options.comp_level,
+ comp_level,
options.with_submodules):
raise GbpError("Cannot create upstream tarball at '%s'" % output_dir)
for component in options.components:
@@ -336,7 +338,7 @@ def git_archive_build_orig(repo, cp, output_dir, options):
subtree))
if not git_archive(repo, cp, output_dir, subtree,
options.comp_type,
- options.comp_level,
+ comp_level,
options.with_submodules,
component=component):
raise GbpError("Cannot create additional tarball %s at '%s'"
diff --git a/gbp/scripts/buildpackage_rpm.py b/gbp/scripts/buildpackage_rpm.py
index b34617df..889a863e 100644
--- a/gbp/scripts/buildpackage_rpm.py
+++ b/gbp/scripts/buildpackage_rpm.py
@@ -1,6 +1,6 @@
# vim: set fileencoding=utf-8 :
#
-# (C) 2006-2011,2015,2016 Guido Günther <agx@sigxcpu.org>
+# (C) 2006-2011,2015-2017 Guido Günther <agx@sigxcpu.org>
# (C) 2012-2015 Intel Corporation <markus.lehtonen@linux.intel.com>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -207,11 +207,13 @@ def git_archive_build_orig(repo, spec, output_dir, options):
gbp.log.info("%s does not exist, creating from '%s'" %
(spec.orig_src['filename'], upstream_tree))
if spec.orig_src['compression']:
+ comp_level = int(options.comp_level) if options.comp_level != '' else None
+ comp_level_msg = "' -%s'" % comp_level if comp_level is not None else ''
gbp.log.debug("Building upstream source archive with compression "
"'%s -%s'" % (spec.orig_src['compression'],
- options.comp_level))
+ comp_level_msg))
if not git_archive(repo, spec, output_dir, upstream_tree,
- orig_prefix, options.comp_level,
+ orig_prefix, comp_level,
options.with_submodules):
raise GbpError("Cannot create upstream tarball at '%s'" %
output_dir)
@@ -546,14 +548,16 @@ def main(argv):
# Just build source archive from the exported tree
gbp.log.info("Creating (native) source archive %s from '%s'"
% (spec.orig_src['filename'], tree))
+ comp_level = int(options.comp_level) if options.comp_level != '' else None
if spec.orig_src['compression']:
+ comp_level_msg = "' -%s'" % comp_level if comp_level is not None else ''
gbp.log.debug("Building source archive with "
- "compression '%s -%s'" %
+ "compression '%s%s'" %
(spec.orig_src['compression'],
- options.comp_level))
+ comp_level_msg))
orig_prefix = spec.orig_src['prefix']
if not git_archive(repo, spec, source_dir, tree,
- orig_prefix, options.comp_level,
+ orig_prefix, comp_level,
options.with_submodules):
raise GbpError("Cannot create source tarball at '%s'" %
source_dir)
diff --git a/gbp/scripts/common/buildpackage.py b/gbp/scripts/common/buildpackage.py
index 72489e54..8fd7102c 100644
--- a/gbp/scripts/common/buildpackage.py
+++ b/gbp/scripts/common/buildpackage.py
@@ -87,8 +87,12 @@ def git_archive_submodules(repo, treeish, output, prefix, comp_type, comp_level,
if comp_type:
# Redirect through stdout directly to the correct output file in
# order to avoid determining the output filename of the compressor
- ret = os.system("%s --stdout -%s %s %s > %s" %
- (comp_type, comp_level, comp_opts, main_archive,
+ try:
+ comp_level_opt = '-%d' % comp_level if comp_level is not None else ''
+ except TypeError as e:
+ raise GbpError("Invalid compression level '%s'" % comp_level)
+ ret = os.system("%s --stdout %s %s %s > %s" %
+ (comp_type, comp_level_opt, comp_opts, main_archive,
output))
if ret:
raise GbpError("Error creating %s: %d" % (output, ret))
@@ -107,8 +111,12 @@ def git_archive_single(treeish, output, prefix, comp_type, comp_level, comp_opts
prefix = sanitize_prefix(prefix)
pipe = pipes.Template()
pipe.prepend("git archive --format=%s --prefix=%s %s" % (format, prefix, treeish), '.-')
+ try:
+ comp_level_opt = '-%d' % comp_level if comp_level is not None else ''
+ except TypeError as e:
+ raise GbpError("Invalid compression level '%s'" % comp_level)
if comp_type:
- pipe.append('%s -c -%s %s' % (comp_type, comp_level, comp_opts), '--')
+ pipe.append('%s -c %s %s' % (comp_type, comp_level_opt, comp_opts), '--')
ret = pipe.copy('', output)
if ret:
raise GbpError("Error creating %s: %d" % (output, ret))