[molecule] rewrite molecule.utils.exec_cmd() to not use shell=True
The following changes were required code-wide: - use shlex.split() to split commands read from spec files - use glob.glob() where required - write command splitter function and make use of it instead of simple string splitter
This commit is contained in:
@@ -378,7 +378,7 @@ class RemasterSpec(GenericSpec):
|
||||
},
|
||||
'prechroot': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'release_string': {
|
||||
'cb': self.ne_string, # validation callback
|
||||
@@ -406,35 +406,35 @@ class RemasterSpec(GenericSpec):
|
||||
},
|
||||
'error_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'outer_chroot_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'inner_chroot_script': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'inner_chroot_script_after': {
|
||||
'cb': self.valid_path_string_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'outer_chroot_script_after': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'extra_mkisofs_parameters': {
|
||||
'cb': self.always_valid,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'pre_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'post_iso_script': {
|
||||
'cb': self.valid_exec_first_list_item,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'destination_iso_directory': {
|
||||
'cb': self.valid_dir,
|
||||
@@ -446,19 +446,19 @@ class RemasterSpec(GenericSpec):
|
||||
},
|
||||
'iso_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'iso_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'squash_mounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'squash_umounter': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'merge_livecd_root': {
|
||||
'cb': self.valid_dir,
|
||||
@@ -466,11 +466,11 @@ class RemasterSpec(GenericSpec):
|
||||
},
|
||||
'custom_packages_remove_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'custom_packages_add_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'packages_to_remove': {
|
||||
'cb': self.ne_list,
|
||||
@@ -482,7 +482,7 @@ class RemasterSpec(GenericSpec):
|
||||
},
|
||||
'repositories_update_cmd': {
|
||||
'cb': self.ne_list,
|
||||
've': self.ve_string_splitter,
|
||||
've': self.ve_command_splitter,
|
||||
},
|
||||
'execute_repositories_update': {
|
||||
'cb': self.valid_ascii,
|
||||
|
||||
Reference in New Issue
Block a user