]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Simplify should_compress_output(), default to zstd and compress cpios
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 15 Feb 2023 15:16:55 +0000 (16:16 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 24 Feb 2023 11:58:33 +0000 (12:58 +0100)
mkosi/__init__.py
mkosi/backend.py

index 496c352dc6b9d28cd28af1f958214675a6557794..f384ec404a486cdad9aa8f10db0aebce12e74bf1 100644 (file)
@@ -2820,7 +2820,7 @@ def print_summary(config: MkosiConfig) -> None:
         print("                  SSH port:", config.ssh_port)
 
     print("               Incremental:", yes_no(config.incremental))
-    print("               Compression:", yes_no_or(should_compress_output(config)))
+    print("               Compression:", should_compress_output(config) or "no")
 
     if config.output_format == OutputFormat.disk:
         print("                     QCow2:", yes_no(config.qcow2))
index 3868cc6b70123e50041e182c4167e4d5d51644ad..a1024bf8cef2213efe8ddb29b0520562c94a915b 100644 (file)
@@ -433,19 +433,19 @@ class MkosiState:
         return self.workspace / "staging"
 
 
-def should_compress_output(config: Union[argparse.Namespace, MkosiConfig]) -> Union[bool, str]:
-    """A string or False.
+def should_compress_output(config: Union[argparse.Namespace, MkosiConfig]) -> Optional[str]:
+    """A string or None.
 
     When explicitly configured with --compress-output=, use
     that. Since we have complete freedom with selecting the outer
     compression algorithm, pick some default when True.
     """
     c = config.compress_output
-    if c is None and config.output_format == OutputFormat.tar:
+    if c is None and config.output_format in (OutputFormat.tar, OutputFormat.cpio):
         c = True
     if c is True:
-        return "xz"  # default compression
-    return False if c is None else c
+        return "zstd"  # default compression
+    return c if c else None
 
 
 def format_rlimit(rlimit: int) -> str: