diff --git a/kiwi/defaults.py b/kiwi/defaults.py index 57855caf..ce8691cc 100644 --- a/kiwi/defaults.py +++ b/kiwi/defaults.py @@ -131,6 +131,14 @@ class Defaults(object): 'xfs', 'fat16', 'fat32' ] + @classmethod + def get_live_iso_types(self): + return ['overlay'] + + @classmethod + def get_default_live_iso_type(self): + return 'overlay' + @classmethod def get_disk_image_types(self): return ['oem', 'vmx'] diff --git a/kiwi/live_image_builder.py b/kiwi/live_image_builder.py index 4ab55f4e..7321db65 100644 --- a/kiwi/live_image_builder.py +++ b/kiwi/live_image_builder.py @@ -47,13 +47,16 @@ class LiveImageBuilder(object): self.source_dir = source_dir self.target_dir = target_dir self.xml_state = xml_state - self.flags = xml_state.build_type.get_flags() + self.live_type = xml_state.build_type.get_flags() self.hybrid = xml_state.build_type.get_hybrid() self.volume_id = xml_state.build_type.get_volid() self.machine = xml_state.get_build_type_machine_section() self.mbrid = ImageIdentifier() self.mbrid.calculate_id() + if not self.live_type: + self.live_type = Defaults.get_default_live_iso_type() + self.boot_image_task = BootImageTask( xml_state, target_dir ) @@ -103,7 +106,7 @@ class LiveImageBuilder(object): self.boot_image_task.prepare() # pack system into live boot structure - if not self.flags or self.flags == 'overlay': + if self.live_type == 'overlay': squashed_image = FileSystemSquashFs( device_provider=None, source_dir=self.source_dir ) @@ -113,7 +116,8 @@ class LiveImageBuilder(object): ) else: raise KiwiLiveBootImageError( - 'live ISO structure type "%s" not supported' % self.flags + 'live ISO type "%s" not supported, supported are %s' % + (self.live_type, Defaults.get_live_iso_types()) ) # TODO: create config.isoclient diff --git a/test/unit/live_image_builder_test.py b/test/unit/live_image_builder_test.py index 61eb24e0..96c30b08 100644 --- a/test/unit/live_image_builder_test.py +++ b/test/unit/live_image_builder_test.py @@ -42,6 +42,9 @@ class TestLiveImageBuilder(object): return_value=self.kernel ) self.xml_state = mock.Mock() + self.xml_state.build_type.get_flags = mock.Mock( + return_value=None + ) self.xml_state.get_image_version = mock.Mock( return_value='1.2.3' ) @@ -64,7 +67,6 @@ class TestLiveImageBuilder(object): self.result = mock.Mock() self.live_image.result = self.result self.live_image.hybrid = True - self.live_image.flags = 'overlay' @patch('kiwi.live_image_builder.mkdtemp') @patch('kiwi.live_image_builder.Command.run') @@ -82,7 +84,7 @@ class TestLiveImageBuilder(object): return tmpdir_name.pop() mock_dtemp.side_effect = side_effect - self.live_image.flags = 'overlay' + self.live_image.live_type = 'overlay' squashed_image = mock.Mock() mock_squashfs.return_value = squashed_image bootloader = mock.Mock() @@ -165,7 +167,7 @@ class TestLiveImageBuilder(object): @patch('kiwi.live_image_builder.Command.run') @raises(KiwiLiveBootImageError) def test_create_invalid_iso_structure(self, mock_command, mock_dtemp): - self.live_image.flags = 'bogus' + self.live_image.live_type = 'bogus' self.live_image.create() @raises(KiwiLiveBootImageError)