From: Daan De Meyer Date: Tue, 5 Mar 2024 10:40:12 +0000 (+0100) Subject: Prefer to not clean package manager metadata when building directory or tar image X-Git-Tag: v21~9^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b30bfb276c47b6354be8e12fe8b4fee44edfbe6;p=thirdparty%2Fmkosi.git Prefer to not clean package manager metadata when building directory or tar image These output formats are often intended to be used as base trees on which to build extension images so let's not remove package manager metadata from these unless explicitly requested by the user. --- diff --git a/mkosi/installer/__init__.py b/mkosi/installer/__init__.py index 7c9b1e92f..9644e8a09 100644 --- a/mkosi/installer/__init__.py +++ b/mkosi/installer/__init__.py @@ -96,6 +96,16 @@ def clean_package_manager_metadata(context: Context) -> None: if context.config.clean_package_metadata == ConfigFeature.disabled: return + if ( + context.config.clean_package_metadata == ConfigFeature.auto and + context.config.output_format in (OutputFormat.directory, OutputFormat.tar) + ): + return + + # If cleaning is not explicitly requested, keep the repository metadata if we're building a directory or tar image + # (which are often used as a base tree for extension images and thus should retain package manager metadata) or if + # the corresponding package manager is installed in the image. + always = context.config.clean_package_metadata == ConfigFeature.enabled executable = context.config.distribution.package_manager(context.config).executable(context.config)