diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py index 9d3841c..7c17470 100644 --- a/catalyst/base/stagebase.py +++ b/catalyst/base/stagebase.py @@ -144,7 +144,8 @@ class StageBase(TargetBase, ClearBase, GenBase): self.decompressor = CompressMap(self.settings["decompress_definitions"], env=self.env, search_order=self.settings["decompressor_search_order"], - comp_prog=self.settings["comp_prog"]) + comp_prog=self.settings["comp_prog"], + decomp_opt=self.settings["decomp_opt"]) self.accepted_extensions = self.decompressor.search_order_extensions( self.settings["decompressor_search_order"]) log.notice("Source file specification matching setting is: %s", @@ -690,6 +691,8 @@ class StageBase(TargetBase, ClearBase, GenBase): 'mode': None, 'auto-ext': False, 'other_options': self.settings["compressor_options"], + 'comp_prog': self.settings["comp_prog"], + 'decomp_opt': self.settings["decomp_opt"], } display_msg = ( @@ -1271,7 +1274,7 @@ class StageBase(TargetBase, ClearBase, GenBase): if not self.compressor: self.compressor = CompressMap(self.settings["compress_definitions"], env=self.env, default_mode=self.settings['compression_mode'], - logger=log) + comp_prog=self.settings["comp_prog"],logger=log) if "autoresume" in self.settings["options"] \ and self.resume.is_enabled("capture"): diff --git a/catalyst/defaults.py b/catalyst/defaults.py index 8b413f7..0bba6f4 100644 --- a/catalyst/defaults.py +++ b/catalyst/defaults.py @@ -1,8 +1,9 @@ import os -from DeComp.definitions import DECOMPRESSOR_XATTR_SEARCH_ORDER +from DeComp.definitions import DECOMPRESSOR_SEARCH_ORDER from DeComp.definitions import COMPRESSOR_PROGRAM_OPTIONS, XATTRS_OPTIONS +from DeComp.definitions import DECOMPRESSOR_PROGRAM_OPTIONS, LIST_XATTRS_OPTIONS # Used for the (de)compressor definitions if os.uname()[0] in ["Linux", "linux"]: @@ -33,13 +34,15 @@ valid_config_file_values.extend([ "distcc", "envscript", confdefaults={ "archdir": "%(PythonDir)s/arch", "comp_prog": COMPRESSOR_PROGRAM_OPTIONS[TAR], - "compression_mode": 'lbzip2_x', + "compression_mode": 'lbzip2', "compressor_arch": None, "compressor_options": XATTRS_OPTIONS[TAR], - "decompressor_search_order": DECOMPRESSOR_XATTR_SEARCH_ORDER, + "decomp_opt": DECOMPRESSOR_PROGRAM_OPTIONS[TAR], + "decompressor_search_order": DECOMPRESSOR_SEARCH_ORDER, "distdir": "/usr/portage/distfiles", "hash_function": "crc32", "icecream": "/var/cache/icecream", + 'list_xattrs_opt': LIST_XATTRS_OPTIONS[TAR], "local_overlay": "/usr/local/portage", "port_conf": "/etc/portage", "make_conf": "%(port_conf)s/make.conf", diff --git a/catalyst/main.py b/catalyst/main.py index 7c6a5d8..51d2b04 100644 --- a/catalyst/main.py +++ b/catalyst/main.py @@ -330,7 +330,9 @@ def _main(parser, opts): # initialize our contents generator contents_map = ContentsMap(CONTENTS_DEFINITIONS, - comp_prog=conf_values['comp_prog']) + comp_prog=conf_values['comp_prog'], + decomp_opt=conf_values['decomp_opt'], + list_xattrs_opt=conf_values['list_xattrs_opt']) conf_values["contents_map"] = contents_map # initialze our hash and contents generators diff --git a/catalyst/targets/snapshot.py b/catalyst/targets/snapshot.py index dbc4b1c..3b6cc16 100644 --- a/catalyst/targets/snapshot.py +++ b/catalyst/targets/snapshot.py @@ -64,7 +64,8 @@ class snapshot(TargetBase, GenBase): log.notice('Compressing Portage snapshot tarball ...') compressor = CompressMap(self.settings["compress_definitions"], - env=self.env, default_mode=self.settings['compression_mode']) + env=self.env, default_mode=self.settings['compression_mode'], + comp_prog=self.settings["comp_prog"]) infodict = compressor.create_infodict( source=self.settings["repo_name"], destination=self.settings["snapshot_path"],