def create_on_file(self, filename: str, label: str = None, exclude: List[str] = None): """ Create iso filesystem from data tree There is no label which could be set for iso filesystem thus this parameter is not used :param string filename: result file path name :param string label: unused :param list exclude: unused """ meta_data = self.custom_args['meta_data'] efi_mode = meta_data.get('efi_mode') ofw_mode = meta_data.get('ofw_mode') iso_tool = IsoTools.new(self.root_dir) iso = Iso(self.root_dir) if not efi_mode and not ofw_mode: iso.setup_isolinux_boot_path() iso_tool.init_iso_creation_parameters(meta_data) iso_tool.add_efi_loader_parameters() iso_tool.create_iso(filename)
def setup(self, mock_machine): mock_machine.return_value = 'x86_64' self.context_manager_mock = mock.Mock() self.file_mock = mock.Mock() self.enter_mock = mock.Mock() self.exit_mock = mock.Mock() self.enter_mock.return_value = self.file_mock setattr(self.context_manager_mock, '__enter__', self.enter_mock) setattr(self.context_manager_mock, '__exit__', self.exit_mock) self.iso = Iso('source-dir')
def create_on_file(self, filename, label=None, exclude=None): """ Create iso filesystem from data tree There is no label which could be set for iso filesystem thus this parameter is not used :param string filename: result file path name :param string label: unused :param string exclude: unused """ meta_data = self.custom_args['meta_data'] efi_mode = meta_data.get('efi_mode') ofw_mode = meta_data.get('ofw_mode') iso_tool = IsoTools(self.root_dir) iso = Iso(self.root_dir) if not efi_mode and not ofw_mode: iso.setup_isolinux_boot_path() if not iso_tool.has_iso_hybrid_capability(): iso.create_header_end_marker() iso_tool.init_iso_creation_parameters(meta_data) iso_tool.add_efi_loader_parameters() iso_tool.create_iso(filename) if not iso_tool.has_iso_hybrid_capability(): if not efi_mode and not ofw_mode: hybrid_offset = iso.create_header_end_block(filename) iso_tool.create_iso( filename, hidden_files=[iso.header_end_name] ) iso.relocate_boot_catalog(filename) iso.fix_boot_catalog(filename) mbr_id = meta_data['mbr_id'] if 'mbr_id' in meta_data else \ '0xffffffff' iso.create_hybrid( hybrid_offset, mbr_id, filename ) else: message = dedent(''' Can't create hybrid ISO in EFI mode with cdrtools isohybrid requires isolinux as loader. In EFI mode the configured bootloader e.g grub is used and no isolinux signature exists. ''').strip() + os.linesep log.warning(message)
def create_on_file(self, filename, label=None, exclude=None): """ Create iso filesystem from data tree There is no label which could be set for iso filesystem thus this parameter is not used :param string filename: result file path name :param string label: unused :param string exclude: unused """ arch = platform.machine() meta_data = self.custom_args['meta_data'] iso_tool = IsoTools(self.root_dir) iso = Iso(self.root_dir) if re.match(r'x86_64|i[56]86', arch): iso.setup_isolinux_boot_path() if not iso_tool.has_iso_hybrid_capability(): iso.create_header_end_marker() iso_tool.init_iso_creation_parameters(meta_data) iso_tool.add_efi_loader_parameters() iso_tool.create_iso(filename) if not iso_tool.has_iso_hybrid_capability(): hybrid_offset = iso.create_header_end_block(filename) iso_tool.create_iso(filename, hidden_files=[iso.header_end_name]) iso.relocate_boot_catalog(filename) iso.fix_boot_catalog(filename) efi_mode = meta_data['efi_mode'] if 'efi_mode' in meta_data else \ False mbr_id = meta_data['mbr_id'] if 'mbr_id' in meta_data else \ '0xffffffff' iso.create_hybrid(hybrid_offset, mbr_id, filename, efi_mode)
def setup(self): Defaults.set_platform_name('x86_64') self.iso = Iso('source-dir')
def setup(self, mock_machine): mock_machine.return_value = 'x86_64' self.iso = Iso('source-dir')