@@ -42,7 +42,8 @@ class TarFile(object):
4242 class DebError (Exception ):
4343 pass
4444
45- def __init__ (self , output , directory , compression , compressor , create_parents , allow_dups_from_deps , default_mtime ):
45+ def __init__ (self , output , directory , compression , compressor , create_parents ,
46+ allow_dups_from_deps , default_mtime , compression_level ):
4647 # Directory prefix on all output paths
4748 d = directory .strip ('/' )
4849 self .directory = (d + '/' ) if d else None
@@ -52,6 +53,7 @@ def __init__(self, output, directory, compression, compressor, create_parents, a
5253 self .default_mtime = default_mtime
5354 self .create_parents = create_parents
5455 self .allow_dups_from_deps = allow_dups_from_deps
56+ self .compression_level = compression_level
5557
5658 def __enter__ (self ):
5759 self .tarfile = tar_writer .TarFileWriter (
@@ -60,7 +62,8 @@ def __enter__(self):
6062 self .compressor ,
6163 self .create_parents ,
6264 self .allow_dups_from_deps ,
63- default_mtime = self .default_mtime )
65+ default_mtime = self .default_mtime ,
66+ compression_level = self .compression_level )
6467 return self
6568
6669 def __exit__ (self , t , v , traceback ):
@@ -397,6 +400,9 @@ def main():
397400 parser .add_argument ('--allow_dups_from_deps' ,
398401 action = 'store_true' ,
399402 help = '' )
403+ parser .add_argument (
404+ '--compression_level' , default = - 1 ,
405+ help = 'Specify the numeric compress level in gzip mode; may be 0-9 or -1 (default to 6).' )
400406 options = parser .parse_args ()
401407
402408 # Parse modes arguments
@@ -440,6 +446,10 @@ def main():
440446 if options .stamp_from :
441447 default_mtime = build_info .get_timestamp (options .stamp_from )
442448
449+ compression_level = - 1
450+ if options .compression_level :
451+ compression_level = int (options .compression_level )
452+
443453 # Add objects to the tar file
444454 with TarFile (
445455 options .output ,
@@ -448,7 +458,8 @@ def main():
448458 compressor = options .compressor ,
449459 default_mtime = default_mtime ,
450460 create_parents = options .create_parents ,
451- allow_dups_from_deps = options .allow_dups_from_deps ) as output :
461+ allow_dups_from_deps = options .allow_dups_from_deps ,
462+ compression_level = compression_level ) as output :
452463
453464 def file_attributes (filename ):
454465 if filename .startswith ('/' ):
0 commit comments