]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Prefer to not clean package manager metadata when building directory or tar image
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 5 Mar 2024 10:40:12 +0000 (11:40 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 5 Mar 2024 11:00:08 +0000 (12:00 +0100)
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.

mkosi/installer/__init__.py

index 7c9b1e92fab2dff5f3851f5700248ab77bf4828a..9644e8a0983b6167050666f5c3d2cab65aa3207e 100644 (file)
@@ -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)