diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-01-17 20:10:00 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-01-17 20:11:01 +0100 |
commit | 1140886c80d5ef029bfd7b37b9ff8a24f07e6a69 (patch) | |
tree | 50907fe22435da93a1c1c55a96637f58cafa9020 /gbp | |
parent | 4eb8c383ad862cbf1fc6c3f7b86400869079035b (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.py | 2 | ||||
-rwxr-xr-x | gbp/scripts/buildpackage.py | 12 | ||||
-rw-r--r-- | gbp/scripts/buildpackage_rpm.py | 16 | ||||
-rw-r--r-- | gbp/scripts/common/buildpackage.py | 14 |
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)) |