@@ -42,7 +42,8 @@ class TarFile(object):
42
42
class DebError (Exception ):
43
43
pass
44
44
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 ):
46
47
# Directory prefix on all output paths
47
48
d = directory .strip ('/' )
48
49
self .directory = (d + '/' ) if d else None
@@ -52,6 +53,7 @@ def __init__(self, output, directory, compression, compressor, create_parents, a
52
53
self .default_mtime = default_mtime
53
54
self .create_parents = create_parents
54
55
self .allow_dups_from_deps = allow_dups_from_deps
56
+ self .compression_level = compression_level
55
57
56
58
def __enter__ (self ):
57
59
self .tarfile = tar_writer .TarFileWriter (
@@ -60,7 +62,8 @@ def __enter__(self):
60
62
self .compressor ,
61
63
self .create_parents ,
62
64
self .allow_dups_from_deps ,
63
- default_mtime = self .default_mtime )
65
+ default_mtime = self .default_mtime ,
66
+ compression_level = self .compression_level )
64
67
return self
65
68
66
69
def __exit__ (self , t , v , traceback ):
@@ -397,6 +400,9 @@ def main():
397
400
parser .add_argument ('--allow_dups_from_deps' ,
398
401
action = 'store_true' ,
399
402
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).' )
400
406
options = parser .parse_args ()
401
407
402
408
# Parse modes arguments
@@ -440,6 +446,10 @@ def main():
440
446
if options .stamp_from :
441
447
default_mtime = build_info .get_timestamp (options .stamp_from )
442
448
449
+ compression_level = - 1
450
+ if options .compression_level :
451
+ compression_level = int (options .compression_level )
452
+
443
453
# Add objects to the tar file
444
454
with TarFile (
445
455
options .output ,
@@ -448,7 +458,8 @@ def main():
448
458
compressor = options .compressor ,
449
459
default_mtime = default_mtime ,
450
460
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 :
452
463
453
464
def file_attributes (filename ):
454
465
if filename .startswith ('/' ):
0 commit comments