diff --git a/kiwi/bootloader/config/grub2.py b/kiwi/bootloader/config/grub2.py index 91fac73a68..673442d7e6 100644 --- a/kiwi/bootloader/config/grub2.py +++ b/kiwi/bootloader/config/grub2.py @@ -66,6 +66,8 @@ def post_init(self, custom_args): {'grub_directory_name': 'grub|grub2'} """ + self.efi_csm = True if self.xml_state.build_type.get_eficsm() is None \ + else self.xml_state.build_type.get_eficsm() self.custom_args = custom_args self.config_options = [] arch = Defaults.get_platform_name() @@ -612,7 +614,9 @@ def _copy_grub_config_to_efi_path( ) def _supports_bios_modules(self): - if self.arch == 'ix86' or self.arch == 'x86_64' or Defaults.is_ppc64_arch(self.arch): + if self.efi_csm and ( + self.arch == 'ix86' or self.arch == 'x86_64' or Defaults.is_ppc64_arch(self.arch) + ): return True return False diff --git a/kiwi/package_manager/apt.py b/kiwi/package_manager/apt.py index 25e8fa1ffc..12f01f20e0 100644 --- a/kiwi/package_manager/apt.py +++ b/kiwi/package_manager/apt.py @@ -557,17 +557,19 @@ def _run_bootstrap_scripts( script_post = f'{package_metadata_dir}/postinst' # 1. preinst if os.path.exists(script_pre): + Command.run(['chmod', '755', script_pre]) Command.run( [ - 'chroot', self.root_dir, 'bash', + 'chroot', self.root_dir, f'{script_pre.replace(self.root_dir, "")}', 'install' ], self.command_env ) # 2. postinst if os.path.exists(script_post): + Command.run(['chmod', '755', script_post]) Command.run( [ - 'chroot', self.root_dir, 'bash', + 'chroot', self.root_dir, f'{script_post.replace(self.root_dir, "")}', 'configure' ], self.command_env ) diff --git a/test/unit/package_manager/apt_test.py b/test/unit/package_manager/apt_test.py index 1f2bada443..28fd8286b8 100644 --- a/test/unit/package_manager/apt_test.py +++ b/test/unit/package_manager/apt_test.py @@ -182,13 +182,23 @@ def test_process_install_requests_bootstrap( ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/base-passwd/preinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/base-passwd/preinst', 'install' ], new_env ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/base-passwd/postinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/base-passwd/postinst', 'configure' ], new_env ), @@ -197,13 +207,23 @@ def test_process_install_requests_bootstrap( ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/base-passwd/preinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/base-passwd/preinst', 'install' ], new_env ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/base-passwd/postinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/base-passwd/postinst', 'configure' ], new_env ), @@ -212,13 +232,23 @@ def test_process_install_requests_bootstrap( ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/vim/preinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/vim/preinst', 'install' ], new_env ), call( [ - 'chroot', 'root-dir', 'bash', + 'chmod', '755', 'tempdir/vim/postinst' + ] + ), + call( + [ + 'chroot', 'root-dir', 'tempdir/vim/postinst', 'configure' ], new_env )