From ef1aa7bd406f5ec78f59cd8facff5caba74b3848 Mon Sep 17 00:00:00 2001 From: Joerg Behrmann Date: Tue, 4 Oct 2022 17:51:30 +0200 Subject: [PATCH] Add remove_packages method to DistributionInstaller This should probably live in PackageType, but there is a strong dependence between package type and distribution and I haven't figured out a good way to do this without cyclical imports. --- mkosi/__init__.py | 4 +++- mkosi/distributions/__init__.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mkosi/__init__.py b/mkosi/__init__.py index c53053751..58cac8f82 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -2623,7 +2623,9 @@ def remove_packages(state: MkosiState) -> None: remove: Callable[[List[str]], Any] - if (state.config.distribution.package_type == PackageType.rpm): + if state.installer is not None: + remove = lambda p: state.installer.remove_packages(state, p) # type: ignore + elif (state.config.distribution.package_type == PackageType.rpm): remove = lambda p: invoke_dnf(state, 'remove', p) elif state.config.distribution.package_type == PackageType.deb: remove = lambda p: invoke_apt(state, "get", "purge", ["--assume-yes", "--auto-remove", *p]) diff --git a/mkosi/distributions/__init__.py b/mkosi/distributions/__init__.py index 751773d9d..b951f9a1c 100644 --- a/mkosi/distributions/__init__.py +++ b/mkosi/distributions/__init__.py @@ -19,3 +19,7 @@ class DistributionInstaller: @classmethod def cache_path(cls) -> List[str]: raise NotImplementedError + + @classmethod + def remove_packages(cls, state: "MkosiState", remove: List[str]) -> None: + pass -- 2.47.3