From: Daan De Meyer Date: Sat, 2 Mar 2024 10:55:10 +0000 (+0100) Subject: Remove sync() method from distribution implementations X-Git-Tag: v21~10^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=084f2cffd82db1bdfd18845fab27d19b5dabeefc;p=thirdparty%2Fmkosi.git Remove sync() method from distribution implementations Instead, let's just use the method on the package manager object directly. --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 74e20fe30..1ac192211 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -3711,7 +3711,7 @@ def sync_repository_metadata(context: Context) -> None: flock(context.config.package_cache_dir_or_default() / "cache" / subdir), flock(context.config.package_cache_dir_or_default() / "lib" / subdir), ): - context.config.distribution.sync(context) + context.config.distribution.package_manager(context.config).sync(context) def run_sync(args: Args, config: Config, *, resources: Path) -> None: diff --git a/mkosi/distributions/__init__.py b/mkosi/distributions/__init__.py index 03aeed8b9..80a408f0a 100644 --- a/mkosi/distributions/__init__.py +++ b/mkosi/distributions/__init__.py @@ -76,10 +76,6 @@ class DistributionInstaller: def createrepo(cls, context: "Context") -> None: raise NotImplementedError - @classmethod - def sync(cls, context: "Context") -> None: - raise NotImplementedError - class Distribution(StrEnum): # Please consult docs/distribution-policy.md and contact one @@ -161,9 +157,6 @@ class Distribution(StrEnum): def createrepo(self, context: "Context") -> None: return self.installer().createrepo(context) - def sync(self, context: "Context") -> None: - return self.installer().sync(context) - def installer(self) -> type[DistributionInstaller]: modname = str(self).replace('-', '_') mod = importlib.import_module(f"mkosi.distributions.{modname}") diff --git a/mkosi/distributions/arch.py b/mkosi/distributions/arch.py index cc696addd..de2efb10c 100644 --- a/mkosi/distributions/arch.py +++ b/mkosi/distributions/arch.py @@ -44,10 +44,6 @@ class Installer(DistributionInstaller): def setup(cls, context: Context) -> None: Pacman.setup(context, cls.repositories(context)) - @classmethod - def sync(cls, context: Context) -> None: - Pacman.sync(context) - @classmethod def install(cls, context: Context) -> None: cls.install_packages(context, ["filesystem"], apivfs=False) diff --git a/mkosi/distributions/centos.py b/mkosi/distributions/centos.py index d98b6ebed..1a4f84654 100644 --- a/mkosi/distributions/centos.py +++ b/mkosi/distributions/centos.py @@ -77,10 +77,6 @@ class Installer(DistributionInstaller): (context.pkgmngr / "etc/dnf/vars/stream").write_text(f"{context.config.release}-stream\n") setup_rpm(context, dbpath=cls.dbpath(context)) - @classmethod - def sync(cls, context: Context) -> None: - Dnf.sync(context) - @classmethod def install(cls, context: Context) -> None: # Make sure glibc-minimal-langpack is installed instead of glibc-all-langpacks. diff --git a/mkosi/distributions/custom.py b/mkosi/distributions/custom.py index 0439a5eb2..6661fe9a5 100644 --- a/mkosi/distributions/custom.py +++ b/mkosi/distributions/custom.py @@ -22,10 +22,6 @@ class Installer(DistributionInstaller): def setup(cls, context: Context) -> None: pass - @classmethod - def sync(cls, context: Context) -> None: - pass - @classmethod def install(cls, context: Context) -> None: pass diff --git a/mkosi/distributions/debian.py b/mkosi/distributions/debian.py index e67d4ab5f..568e8d258 100644 --- a/mkosi/distributions/debian.py +++ b/mkosi/distributions/debian.py @@ -107,10 +107,6 @@ class Installer(DistributionInstaller): def createrepo(cls, context: Context) -> None: Apt.createrepo(context) - @classmethod - def sync(cls, context: Context) -> None: - Apt.sync(context) - @classmethod def install(cls, context: Context) -> None: # Instead of using debootstrap, we replicate its core functionality here. Because dpkg does not have diff --git a/mkosi/distributions/fedora.py b/mkosi/distributions/fedora.py index 05bea47e4..b8924fe27 100644 --- a/mkosi/distributions/fedora.py +++ b/mkosi/distributions/fedora.py @@ -83,10 +83,6 @@ class Installer(DistributionInstaller): Dnf.setup(context, cls.repositories(context), filelists=False) setup_rpm(context) - @classmethod - def sync(cls, context: Context) -> None: - Dnf.sync(context) - @classmethod def install(cls, context: Context) -> None: cls.install_packages(context, ["filesystem"], apivfs=False) diff --git a/mkosi/distributions/opensuse.py b/mkosi/distributions/opensuse.py index ac5994e5e..b37bc72b2 100644 --- a/mkosi/distributions/opensuse.py +++ b/mkosi/distributions/opensuse.py @@ -67,13 +67,6 @@ class Installer(DistributionInstaller): setup_rpm(context) - @classmethod - def sync(cls, context: Context) -> None: - if find_binary("zypper", root=context.config.tools()): - Zypper.sync(context) - else: - Dnf.sync(context) - @classmethod def install(cls, context: Context) -> None: cls.install_packages(context, ["filesystem", "distribution-release"], apivfs=False) diff --git a/mkosi/installer/__init__.py b/mkosi/installer/__init__.py index 7e8fdce26..3a430c79f 100644 --- a/mkosi/installer/__init__.py +++ b/mkosi/installer/__init__.py @@ -61,6 +61,10 @@ class PackageManager: return mounts + @classmethod + def sync(cls, context: Context) -> None: + pass + def clean_package_manager_metadata(context: Context) -> None: """