diff --git a/kiwi/defaults.py b/kiwi/defaults.py index bdc5c04aa10..126fdfc8a76 100644 --- a/kiwi/defaults.py +++ b/kiwi/defaults.py @@ -1791,6 +1791,9 @@ def get_part_mapper_tool(): :rtype: str """ + host_architecture = Defaults.get_platform_name() + if 's390' in host_architecture: + return 'kpartx' return 'partx' @staticmethod diff --git a/test/unit/runtime_config_test.py b/test/unit/runtime_config_test.py index 21b4b8299ca..6f7d213d8e8 100644 --- a/test/unit/runtime_config_test.py +++ b/test/unit/runtime_config_test.py @@ -78,7 +78,11 @@ def test_config_sections_from_home_base_config(self, mock_is_buildservice_worker ] @patch('kiwi.runtime_checker.Defaults.is_buildservice_worker') - def test_config_sections_defaults(self, mock_is_buildservice_worker): + @patch('kiwi.runtime_checker.Defaults.get_platform_name') + def test_config_sections_defaults( + self, mock_get_platform_name, mock_is_buildservice_worker + ): + mock_get_platform_name.return_value = 's390x' mock_is_buildservice_worker.return_value = True with patch.dict('os.environ', {'HOME': '../data/kiwi_config/defaults'}): runtime_config = RuntimeConfig(reread=True) @@ -93,11 +97,16 @@ def test_config_sections_defaults(self, mock_is_buildservice_worker): assert runtime_config.get_container_compression() is True assert runtime_config.get_iso_tool_category() == 'xorriso' assert runtime_config.get_oci_archive_tool() == 'umoci' - assert runtime_config.get_mapper_tool() == 'partx' + assert runtime_config.get_mapper_tool() == 'kpartx' assert runtime_config.get_package_changes() is False assert runtime_config.\ get_credentials_verification_metadata_signing_key_file() == '' + mock_get_platform_name.return_value = 'x86_64' + with patch.dict('os.environ', {'HOME': '../data/kiwi_config/defaults'}): + runtime_config = RuntimeConfig(reread=True) + assert runtime_config.get_mapper_tool() == 'partx' + def test_config_sections_invalid(self): with patch.dict('os.environ', {'HOME': '../data/kiwi_config/invalid'}): runtime_config = RuntimeConfig(reread=True)