diff --git a/live-build/isobuilder/boot/__init__.py b/live-build/isobuilder/boot/__init__.py index a43e5132..0fe105a2 100644 --- a/live-build/isobuilder/boot/__init__.py +++ b/live-build/isobuilder/boot/__init__.py @@ -20,24 +20,29 @@ def make_boot_configurator_for_arch( iso_root: pathlib.Path, ) -> "BaseBootConfigurator": """Factory function to create boot configurator for a specific architecture.""" - from .amd64 import AMD64BootConfigurator - from .arm64 import ARM64BootConfigurator - from .ppc64el import PPC64ELBootConfigurator - from .riscv64 import RISCV64BootConfigurator - from .s390x import S390XBootConfigurator + match arch: + case "amd64": + from .amd64 import AMD64BootConfigurator - if arch == "amd64": - return AMD64BootConfigurator(logger, apt_state, iso_root) - elif arch == "arm64": - return ARM64BootConfigurator(logger, apt_state, iso_root) - elif arch == "ppc64el": - return PPC64ELBootConfigurator(logger, apt_state, iso_root) - elif arch == "riscv64": - return RISCV64BootConfigurator(logger, apt_state, iso_root) - elif arch == "s390x": - return S390XBootConfigurator(logger, apt_state, iso_root) - else: - raise ValueError(f"Unsupported architecture: {arch}") + return AMD64BootConfigurator(logger, apt_state, iso_root) + case "arm64": + from .arm64 import ARM64BootConfigurator + + return ARM64BootConfigurator(logger, apt_state, iso_root) + case "ppc64el": + from .ppc64el import PPC64ELBootConfigurator + + return PPC64ELBootConfigurator(logger, apt_state, iso_root) + case "riscv64": + from .riscv64 import RISCV64BootConfigurator + + return RISCV64BootConfigurator(logger, apt_state, iso_root) + case "s390x": + from .s390x import S390XBootConfigurator + + return S390XBootConfigurator(logger, apt_state, iso_root) + case _: + raise ValueError(f"Unsupported architecture: {arch}") __all__ = ["make_boot_configurator_for_arch"]