From d0292200c57a7b2111d899e954dcecdc6f77f30e Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 26 Jan 2024 15:41:39 +0100 Subject: [PATCH] Have mageia and openmandriva inherit from Fedora These are similar enough to Fedora so let's have them inherit from Fedora. --- mkosi/distributions/mageia.py | 33 ++++------------------------- mkosi/distributions/openmandriva.py | 33 ++++------------------------- 2 files changed, 8 insertions(+), 58 deletions(-) diff --git a/mkosi/distributions/mageia.py b/mkosi/distributions/mageia.py index b0d2ebfeb..ddfee44a3 100644 --- a/mkosi/distributions/mageia.py +++ b/mkosi/distributions/mageia.py @@ -5,18 +5,13 @@ from collections.abc import Iterable, Sequence from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import ( - Distribution, - DistributionInstaller, - PackageType, - join_mirror, -) -from mkosi.installer.dnf import createrepo_dnf, invoke_dnf, localrepo_dnf, setup_dnf +from mkosi.distributions import Distribution, fedora, join_mirror +from mkosi.installer.dnf import localrepo_dnf from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die -class Installer(DistributionInstaller): +class Installer(fedora.Installer): @classmethod def pretty_name(cls) -> str: return "Mageia" @@ -25,10 +20,6 @@ class Installer(DistributionInstaller): def filesystem(cls) -> str: return "ext4" - @classmethod - def package_type(cls) -> PackageType: - return PackageType.rpm - @classmethod def default_release(cls) -> str: return "cauldron" @@ -37,21 +28,9 @@ class Installer(DistributionInstaller): def default_tools_tree_distribution(cls) -> Distribution: return Distribution.mageia - @classmethod - def createrepo(cls, context: Context) -> None: - createrepo_dnf(context) - - @classmethod - def setup(cls, context: Context) -> None: - setup_dnf(context, cls.repositories(context)) - - @classmethod - def install(cls, context: Context) -> None: - cls.install_packages(context, ["filesystem"], apivfs=False) - @classmethod def install_packages(cls, context: Context, packages: Sequence[str], apivfs: bool = True) -> None: - invoke_dnf(context, "install", packages, apivfs=apivfs) + super().install_packages(context, packages, apivfs) for d in context.root.glob("boot/vmlinuz-*"): kver = d.name.removeprefix("vmlinuz-") @@ -59,10 +38,6 @@ class Installer(DistributionInstaller): if not vmlinuz.exists(): shutil.copy2(d, vmlinuz) - @classmethod - def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - invoke_dnf(context, "remove", packages) - @classmethod def repositories(cls, context: Context) -> Iterable[RpmRepository]: gpgurls = ( diff --git a/mkosi/distributions/openmandriva.py b/mkosi/distributions/openmandriva.py index f38f0b591..c1b682fa0 100644 --- a/mkosi/distributions/openmandriva.py +++ b/mkosi/distributions/openmandriva.py @@ -5,18 +5,13 @@ from collections.abc import Iterable, Sequence from mkosi.config import Architecture from mkosi.context import Context -from mkosi.distributions import ( - Distribution, - DistributionInstaller, - PackageType, - join_mirror, -) -from mkosi.installer.dnf import createrepo_dnf, invoke_dnf, localrepo_dnf, setup_dnf +from mkosi.distributions import Distribution, fedora, join_mirror +from mkosi.installer.dnf import localrepo_dnf from mkosi.installer.rpm import RpmRepository, find_rpm_gpgkey from mkosi.log import die -class Installer(DistributionInstaller): +class Installer(fedora.Installer): @classmethod def pretty_name(cls) -> str: return "OpenMandriva" @@ -25,10 +20,6 @@ class Installer(DistributionInstaller): def filesystem(cls) -> str: return "ext4" - @classmethod - def package_type(cls) -> PackageType: - return PackageType.rpm - @classmethod def default_release(cls) -> str: return "cooker" @@ -37,21 +28,9 @@ class Installer(DistributionInstaller): def default_tools_tree_distribution(cls) -> Distribution: return Distribution.openmandriva - @classmethod - def createrepo(cls, context: Context) -> None: - createrepo_dnf(context) - - @classmethod - def setup(cls, context: Context) -> None: - setup_dnf(context, cls.repositories(context)) - - @classmethod - def install(cls, context: Context) -> None: - cls.install_packages(context, ["filesystem"], apivfs=False) - @classmethod def install_packages(cls, context: Context, packages: Sequence[str], apivfs: bool = True) -> None: - invoke_dnf(context, "install", packages, apivfs=apivfs) + super().install_packages(context, packages, apivfs) for d in context.root.glob("boot/vmlinuz-*"): kver = d.name.removeprefix("vmlinuz-") @@ -63,10 +42,6 @@ class Installer(DistributionInstaller): if not vmlinuz.exists(): shutil.copy2(d, vmlinuz) - @classmethod - def remove_packages(cls, context: Context, packages: Sequence[str]) -> None: - invoke_dnf(context, "remove", packages) - @classmethod def repositories(cls, context: Context) -> Iterable[RpmRepository]: mirror = context.config.mirror or "http://mirror.openmandriva.org" -- 2.47.2