Port the plugins to the new API
This commit is contained in:
+53
-53
@@ -688,7 +688,7 @@ class IsoHandler(GenericExecutionStep, BuiltinHandlerMixin):
|
||||
|
||||
class LivecdSpec(GenericSpec):
|
||||
|
||||
PLUGIN_API_VERSION = 0
|
||||
PLUGIN_API_VERSION = 1
|
||||
|
||||
@staticmethod
|
||||
def execution_strategy():
|
||||
@@ -702,110 +702,110 @@ class LivecdSpec(GenericSpec):
|
||||
"destination_livecd_root",
|
||||
]
|
||||
|
||||
def parser_data_path(self):
|
||||
def parameters(self):
|
||||
return {
|
||||
'execution_strategy': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_command_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
've': self.ve_string_stripper, # value extractor
|
||||
'verifier': lambda x: len(x) != 0, # validation callback
|
||||
'parser': lambda x: x.strip(), # value extractor
|
||||
},
|
||||
'release_version': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_desc': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_file': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_chroot': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'destination_chroot': {
|
||||
'cb': self.valid_path_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: "\0" not in x,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'extra_rsync_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: True,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'merge_destination_chroot': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_source_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_livecd_root': {
|
||||
'cb': self.valid_path_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: "\0" not in x,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'merge_livecd_root': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'extra_mksquashfs_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: True,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'extra_mkisofs_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: True,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'pre_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'post_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_iso_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'destination_iso_image_name': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'paths_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
'paths_to_empty': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
def get_execution_steps(self):
|
||||
def execution_steps(self):
|
||||
return [MirrorHandler, ChrootHandler, CdrootHandler, IsoHandler]
|
||||
|
||||
+69
-69
@@ -533,7 +533,7 @@ class FinalImageHandler(GenericExecutionStep, BuiltinHandlerMixin):
|
||||
|
||||
class IsoToImageSpec(GenericSpec):
|
||||
|
||||
PLUGIN_API_VERSION = 0
|
||||
PLUGIN_API_VERSION = 1
|
||||
|
||||
@staticmethod
|
||||
def execution_strategy():
|
||||
@@ -546,142 +546,142 @@ class IsoToImageSpec(GenericSpec):
|
||||
"image_mb",
|
||||
]
|
||||
|
||||
def parser_data_path(self):
|
||||
def parameters(self):
|
||||
return {
|
||||
'execution_strategy': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_command_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
've': self.ve_string_stripper, # value extractor
|
||||
'verifier': lambda x: len(x) != 0, # validation callback
|
||||
'parser': lambda x: x.strip(), # value extractor
|
||||
},
|
||||
'release_version': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_desc': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_file': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_iso': {
|
||||
'cb': self.valid_path_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: "\0" not in x,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'image_name': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'image_formatter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'image_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'image_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'image_mb': {
|
||||
'cb': self.valid_integer,
|
||||
've': self.ve_integer_converter,
|
||||
'verifier': lambda x: x is not None,
|
||||
'parser': self._cast_integer,
|
||||
},
|
||||
'image_randomize': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script_after': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_image_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'pre_image_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'post_image_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'iso_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'iso_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'custom_packages_remove_cmd': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'custom_packages_add_cmd': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'packages_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'packages_to_add': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'repositories_update_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'execute_repositories_update': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'paths_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
'paths_to_empty': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
}
|
||||
|
||||
def get_execution_steps(self):
|
||||
def execution_steps(self):
|
||||
return [ImageHandler, ImageIsoUnpackHandler, ImageChrootHandler,
|
||||
FinalImageHandler]
|
||||
|
||||
+47
-47
@@ -377,7 +377,7 @@ class FinalImageHandler(GenericExecutionStep, BuiltinHandlerMixin):
|
||||
|
||||
class ChrootToMmcImageSpec(GenericSpec):
|
||||
|
||||
PLUGIN_API_VERSION = 0
|
||||
PLUGIN_API_VERSION = 1
|
||||
|
||||
@staticmethod
|
||||
def execution_strategy():
|
||||
@@ -397,97 +397,97 @@ class ChrootToMmcImageSpec(GenericSpec):
|
||||
"image_name",
|
||||
]
|
||||
|
||||
def parser_data_path(self):
|
||||
def parameters(self):
|
||||
return {
|
||||
'execution_strategy': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_command_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_source_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_source_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_source_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
've': self.ve_string_stripper, # value extractor
|
||||
'verifier': lambda x: len(x) != 0, # validation callback
|
||||
'parser': lambda x: x.strip(), # value extractor
|
||||
},
|
||||
'release_version': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_desc': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_file': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_chroot': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'image_name': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'image_mb': {
|
||||
'cb': self.valid_integer,
|
||||
've': self.ve_integer_converter,
|
||||
'verifier': lambda x: x is not None,
|
||||
'parser': self._cast_integer,
|
||||
},
|
||||
'image_generator_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_image_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_boot_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'pre_image_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'post_image_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'packages_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'packages_to_add': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'paths_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
'paths_to_empty': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
}
|
||||
|
||||
def get_execution_steps(self):
|
||||
def execution_steps(self):
|
||||
return [ChrootHandler, ImageHandler, FinalImageHandler]
|
||||
|
||||
+67
-67
@@ -376,7 +376,7 @@ class IsoHandler(BuiltinIsoHandler):
|
||||
|
||||
class RemasterSpec(GenericSpec):
|
||||
|
||||
PLUGIN_API_VERSION = 0
|
||||
PLUGIN_API_VERSION = 1
|
||||
|
||||
@staticmethod
|
||||
def execution_strategy():
|
||||
@@ -388,137 +388,137 @@ class RemasterSpec(GenericSpec):
|
||||
"destination_iso_directory",
|
||||
]
|
||||
|
||||
def parser_data_path(self):
|
||||
def parameters(self):
|
||||
return {
|
||||
'execution_strategy': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_command_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
've': self.ve_string_stripper, # value extractor
|
||||
'verifier': lambda x: len(x) != 0, # validation callback
|
||||
'parser': lambda x: x.strip(), # value extractor
|
||||
},
|
||||
'release_version': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_desc': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_file': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_iso': {
|
||||
'cb': self.valid_path_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: "\0" not in x,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'iso_title': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script_after': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'extra_mksquashfs_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: True,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'extra_mkisofs_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: True,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'pre_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'post_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_iso_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'destination_iso_image_name': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'iso_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'iso_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'merge_livecd_root': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'custom_packages_remove_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'custom_packages_add_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'packages_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'packages_to_add': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'repositories_update_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'execute_repositories_update': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'paths_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
'paths_to_empty': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
}
|
||||
|
||||
def get_execution_steps(self):
|
||||
def execution_steps(self):
|
||||
return [IsoUnpackHandler, ChrootHandler, CdrootHandler, IsoHandler]
|
||||
|
||||
+61
-61
@@ -169,7 +169,7 @@ class TarHandler(GenericExecutionStep, BuiltinHandlerMixin):
|
||||
|
||||
class IsoToTarSpec(GenericSpec):
|
||||
|
||||
PLUGIN_API_VERSION = 0
|
||||
PLUGIN_API_VERSION = 1
|
||||
|
||||
@staticmethod
|
||||
def execution_strategy():
|
||||
@@ -184,125 +184,125 @@ class IsoToTarSpec(GenericSpec):
|
||||
"destination_tar_directory",
|
||||
]
|
||||
|
||||
def parser_data_path(self):
|
||||
def parameters(self):
|
||||
return {
|
||||
'execution_strategy': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_command_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
've': self.ve_string_stripper, # value extractor
|
||||
'verifier': lambda x: len(x) != 0, # validation callback
|
||||
'parser': lambda x: x.strip(), # value extractor
|
||||
},
|
||||
'release_version': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_desc': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'release_file': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'source_iso': {
|
||||
'cb': self.valid_path_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: "\0" not in x,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'tar_name': {
|
||||
'cb': self.ne_string,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'compression_method': {
|
||||
'cb': self.supported_compression_method,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': self.supported_compression_method,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'inner_chroot_script_after': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'outer_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'destination_tar_directory': {
|
||||
'cb': self.valid_dir,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': os.path.isdir,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'pre_tar_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'post_tar_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': self._verify_executable_arguments,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'iso_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'iso_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'squash_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'custom_packages_remove_cmd': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'custom_packages_add_cmd': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'packages_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'packages_to_add': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_comma_sep_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate,
|
||||
},
|
||||
'repositories_update_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_command_splitter,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._command_splitter,
|
||||
},
|
||||
'execute_repositories_update': {
|
||||
'cb': self.valid_ascii,
|
||||
've': self.ve_string_stripper,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': lambda x: x.strip(),
|
||||
},
|
||||
'paths_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
'paths_to_empty': {
|
||||
'cb': self.ne_list,
|
||||
've': self.valid_path_list,
|
||||
'verifier': lambda x: len(x) != 0,
|
||||
'parser': self._comma_separate_path,
|
||||
},
|
||||
}
|
||||
|
||||
def get_execution_steps(self):
|
||||
def execution_steps(self):
|
||||
return [IsoUnpackHandler, ChrootHandler, TarHandler]
|
||||
|
||||
+15
-13
@@ -36,7 +36,7 @@ class ParsersTest(unittest.TestCase):
|
||||
expected_data = {
|
||||
'execution_strategy': "iso_remaster",
|
||||
'paths_to_remove': ['/this/and/that', '/that/and/this'],
|
||||
'post_iso_script': ['/sabayon/scripts/post_iso_script.sh'],
|
||||
'post_iso_script': ['specs/data/post_iso_script.sh'],
|
||||
'iso_title': 'Sabayon KDE',
|
||||
'extra_mkisofs_parameters': ['-b', 'isolinux/isolinux.bin', '-c',
|
||||
'isolinux/boot.cat'],
|
||||
@@ -46,22 +46,23 @@ class ParsersTest(unittest.TestCase):
|
||||
'destination_iso_image_name': 'Sabayon_Linux_5.3_x86_TEST.iso',
|
||||
'release_desc': 'x86 TEST',
|
||||
'packages_to_remove': ['app-foo/foo', 'app-foo2/foo2'],
|
||||
'pre_iso_script': ['/sabayon/scripts/generic_pre_iso_script.sh',
|
||||
'pre_iso_script': ['specs/data/pre_iso_script.sh',
|
||||
'KDE'],
|
||||
'custom_packages_add_cmd': ['equo', 'install', '--ask'],
|
||||
'packages_to_add': ['app-admin/packagekit-base',
|
||||
'app-admin/packagekit-qt4', 'app-admin/sulfur'],
|
||||
'release_file': '/etc/sabayon-edition',
|
||||
'outer_chroot_script': ['/sabayon/scripts/remaster_pre.sh'],
|
||||
'outer_chroot_script': ['specs/data/outer_chroot_script.sh'],
|
||||
'execute_repositories_update': 'yes',
|
||||
'inner_chroot_script_after': [
|
||||
'/sabayon/scripts/remaster_generic_inner_chroot_script_after.sh',
|
||||
'specs/data/inner_chroot_script_after.sh',
|
||||
'kde'],
|
||||
'release_string': 'Sabayon Linux',
|
||||
'paths_to_empty': ['/empty/this', '/empty/that'],
|
||||
'destination_iso_directory': 'specs/out/',
|
||||
'repositories_update_cmd': ['equo', 'update', '--debug'],
|
||||
'outer_chroot_script_after': ['/sabayon/scripts/remaster_post.sh']
|
||||
'outer_chroot_script_after': [
|
||||
'specs/data/outer_chroot_script_after.sh']
|
||||
}
|
||||
|
||||
parse_obj = SpecParser("specs/iso_remaster.spec")
|
||||
@@ -128,7 +129,7 @@ class ParsersTest(unittest.TestCase):
|
||||
'__plugin__': None,
|
||||
'destination_livecd_root': 'specs/out/fake_livecd_root',
|
||||
'release_desc': 'x86 SpinBase',
|
||||
'inner_chroot_script': ['/sabayon/scripts/inner_chroot_script.sh',
|
||||
'inner_chroot_script': ['specs/data/inner_chroot_script.sh',
|
||||
'spinbase'],
|
||||
'extra_rsync_parameters': ['--one-file-system', '--exclude',
|
||||
'/proc/*', '--exclude', '/dev/pts/*'],
|
||||
@@ -189,6 +190,7 @@ class ParsersTest(unittest.TestCase):
|
||||
|
||||
self.assert_(isinstance(extracted_data['__plugin__'], IsoToTarSpec))
|
||||
extracted_data['__plugin__'] = None
|
||||
|
||||
self.assertEqual(expected_data, extracted_data)
|
||||
|
||||
def test_iso_to_image(self):
|
||||
@@ -199,7 +201,7 @@ class ParsersTest(unittest.TestCase):
|
||||
'execution_strategy': "iso_to_image",
|
||||
'destination_image_directory': '/',
|
||||
'outer_chroot_script_after': [
|
||||
'/path/to/script/to/be/executed/outside/after'],
|
||||
'specs/data/outer_chroot_script_after.sh'],
|
||||
'iso_mounter': ['mount', '-t', 'iso9660', '-o', 'loop'],
|
||||
'prechroot': ['linux32'],
|
||||
'image_name': 'image_name_w00t Sabayon_Linux_SpinBase_5.3_x86_ami.img',
|
||||
@@ -211,20 +213,20 @@ class ParsersTest(unittest.TestCase):
|
||||
'image_randomize': 'yes',
|
||||
'image_formatter': ['mkfs.ext2'],
|
||||
'packages_to_remove': ['app-remove/this', 'app-remove/that'],
|
||||
'inner_chroot_script': ['/sabayon/scripts/openvz_inner_chroot_script.sh'],
|
||||
'inner_chroot_script': ['specs/data/inner_chroot_script.sh'],
|
||||
'custom_packages_add_cmd': 'equo install --debug',
|
||||
'packages_to_add': ['app-add/this', 'app-add/that'],
|
||||
'iso_umounter': ['umount', '-l'],
|
||||
'error_script': ['/path/to/script/to/be/executed/outside/after'],
|
||||
'error_script': ['specs/data/error_script.sh'],
|
||||
'image_mounter': ['mount', '-o', 'rw,loop'],
|
||||
'post_image_script': ['/sabayon/scripts/post_image_script.sh'],
|
||||
'outer_chroot_script': ['/path/to/script/to/be/executed/outside'],
|
||||
'post_image_script': ['specs/data/post_image_script.sh'],
|
||||
'outer_chroot_script': ['specs/data/outer_chroot_script.sh'],
|
||||
'execute_repositories_update': 'yes',
|
||||
'inner_chroot_script_after': [
|
||||
'/sabayon/scripts/image_generic_inner_chroot_script_after.sh'],
|
||||
'specs/data/inner_chroot_script_after.sh'],
|
||||
'paths_to_empty': ['/empty/this', 'and/that'],
|
||||
'squash_mounter': ['mount', '-t', 'squashfs', '-o', 'loop'],
|
||||
'pre_image_script': ['/sabayon/scripts/pre_image_script.sh'],
|
||||
'pre_image_script': ['specs/data/pre_image_script.sh'],
|
||||
'repositories_update_cmd': ['equo', 'update', '--debug'],
|
||||
'__plugin__': None, 'image_umounter': ['umount', '-l']
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ extra_rsync_parameters: --one-file-system --exclude "/proc/*" --exclude "/dev/pt
|
||||
# Inner chroot script command, to be executed inside destination chroot before packing it
|
||||
# - kmerge.sh - setup kernel bins
|
||||
# inner_chroot_script: /sabayon/scripts/inner_chroot_script.sh
|
||||
inner_chroot_script: /sabayon/scripts/inner_chroot_script.sh spinbase
|
||||
inner_chroot_script: specs/data/inner_chroot_script.sh spinbase
|
||||
|
||||
# Destination LiveCD root directory, where files are placed before getting mkisofs'ed
|
||||
# NOTE: data will be stored inside an auto-generated subdir
|
||||
|
||||
Regular → Executable
Executable
Executable
Executable
Regular → Executable
Executable
Executable
Regular → Executable
Executable
@@ -13,15 +13,15 @@ iso_title: Sabayon KDE
|
||||
|
||||
# Outer chroot script command, to be executed outside destination chroot before
|
||||
# before entering it (and before inner_chroot_script)
|
||||
outer_chroot_script: /sabayon/scripts/remaster_pre.sh
|
||||
outer_chroot_script: specs/data/outer_chroot_script.sh
|
||||
|
||||
# Inner chroot script command, to be executed inside destination chroot after
|
||||
# packages installation and removal
|
||||
inner_chroot_script_after: /sabayon/scripts/remaster_generic_inner_chroot_script_after.sh kde
|
||||
inner_chroot_script_after: specs/data/inner_chroot_script_after.sh kde
|
||||
|
||||
# Outer chroot script command, to be executed outside destination chroot before
|
||||
# before entering it (and AFTER inner_chroot_script)
|
||||
outer_chroot_script_after: /sabayon/scripts/remaster_post.sh
|
||||
outer_chroot_script_after: specs/data/outer_chroot_script_after.sh
|
||||
|
||||
# Extra mkisofs parameters, perhaps something to include/use your bootloader
|
||||
extra_mkisofs_parameters: -b isolinux/isolinux.bin -c isolinux/boot.cat
|
||||
@@ -33,13 +33,13 @@ extra_mkisofs_parameters: -b isolinux/isolinux.bin -c isolinux/boot.cat
|
||||
# CDROOT_DIR = path pointing to the root of the CD image being created
|
||||
# ISO_PATH = path pointing to the destination ISO
|
||||
# ISO_CHECKSUM_PATH = path pointing to the destination iso checksum (md5)
|
||||
pre_iso_script: /sabayon/scripts/generic_pre_iso_script.sh KDE
|
||||
pre_iso_script: specs/data/pre_iso_script.sh KDE
|
||||
|
||||
# Post-ISO building script. Hook called after ISO image creation
|
||||
# Variables exported:
|
||||
# ISO_PATH = path pointing to the destination ISO
|
||||
# ISO_CHECKSUM_PATH = path pointing to the destination iso checksum (md5)
|
||||
post_iso_script: /sabayon/scripts/post_iso_script.sh
|
||||
post_iso_script: specs/data/post_iso_script.sh
|
||||
|
||||
# Destination directory for the ISO image path (MANDATORY)
|
||||
destination_iso_directory: specs/out/
|
||||
|
||||
@@ -3,36 +3,36 @@ execution_strategy: iso_to_image
|
||||
|
||||
# Error script command, executed when something went wrong and molecule has
|
||||
# to terminate the execution
|
||||
error_script: /path/to/script/to/be/executed/outside/after
|
||||
error_script: specs/data/error_script.sh
|
||||
|
||||
# Outer chroot script command, to be executed outside destination chroot before
|
||||
# before entering it (and before inner_chroot_script)
|
||||
outer_chroot_script: /path/to/script/to/be/executed/outside
|
||||
outer_chroot_script: specs/data/outer_chroot_script.sh
|
||||
|
||||
# Inner chroot script command, to be executed inside destination chroot before
|
||||
# packing it
|
||||
inner_chroot_script: /sabayon/scripts/openvz_inner_chroot_script.sh
|
||||
inner_chroot_script: specs/data/inner_chroot_script.sh
|
||||
|
||||
# Inner chroot script command, to be executed inside destination chroot after
|
||||
# packages installation and removal
|
||||
inner_chroot_script_after: /sabayon/scripts/image_generic_inner_chroot_script_after.sh
|
||||
inner_chroot_script_after: specs/data/inner_chroot_script_after.sh
|
||||
|
||||
# Outer chroot script command, to be executed outside destination chroot before
|
||||
# before entering it (and AFTER inner_chroot_script)
|
||||
outer_chroot_script_after: /path/to/script/to/be/executed/outside/after
|
||||
outer_chroot_script_after: specs/data/outer_chroot_script_after.sh
|
||||
|
||||
# Pre-image building script. Hook called before image file creation
|
||||
# Variables exported:
|
||||
# TMP_IMAGE_PATH = path pointing to the temporary destination image file
|
||||
# LOOP_DEVICE = loop device (/dev/loopN) currently in use
|
||||
pre_image_script: /sabayon/scripts/pre_image_script.sh
|
||||
pre_image_script: specs/data/pre_image_script.sh
|
||||
|
||||
# Post-image building script. Hook called after image file creation and move
|
||||
# into destination directory.
|
||||
# Variables exported:
|
||||
# IMAGE_PATH = path pointing to the destination image file
|
||||
# IMAGE_CHECKSUM_PATH = path pointing to the destination image file checksum (md5)
|
||||
post_image_script: /sabayon/scripts/post_image_script.sh
|
||||
post_image_script: specs/data/post_image_script.sh
|
||||
|
||||
# Destination directory for the image path (MANDATORY)
|
||||
destination_image_directory: /
|
||||
|
||||
Reference in New Issue
Block a user