]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Rename Compression.zst to Compression.zstd
authorJoerg Behrmann <behrmann@physik.fu-berlin.de>
Thu, 16 Nov 2023 10:22:20 +0000 (11:22 +0100)
committerJoerg Behrmann <behrmann@physik.fu-berlin.de>
Thu, 16 Nov 2023 10:30:55 +0000 (11:30 +0100)
But also leave a fallback Compression.zst with value "zstd" as a fallback in
case anybody used that. To test this we also change the construction of
Compression instances in test_config.py to use __get_item__ instead of __new__,
since that actually supports construction via the value and is also the one
actually used in config.py

Fixes: #2072
mkosi/__init__.py
mkosi/config.py
tests/test_config.py

index 6900d453be7d2106c2d7d42f13bd3e6155f40b86..f0fe850d7ab39f436957d39d0758ead9689c6873 100644 (file)
@@ -1203,7 +1203,7 @@ def build_kernel_modules_initrd(state: MkosiState, kver: str) -> Path:
     # this is not ideal since the compressed kernel modules will all be decompressed on boot which
     # requires significant memory.
     if state.config.distribution.is_apt_distribution():
-        maybe_compress(state.config, Compression.zst, kmods, kmods)
+        maybe_compress(state.config, Compression.zstd, kmods, kmods)
 
     return kmods
 
@@ -1433,7 +1433,7 @@ def compressor_command(compression: Compression) -> list[PathString]:
         return [gzip_binary(), "--fast", "--stdout", "-"]
     elif compression == Compression.xz:
         return ["xz", "--check=crc32", "--fast", "-T0", "--stdout", "-"]
-    elif compression == Compression.zst:
+    elif compression == Compression.zstd:
         return ["zstd", "-q", "-T0", "--stdout", "-"]
     else:
         die(f"Unknown compression {compression}")
index ed17ea459eb18e76c19844b6185a04f450328896..59e21ebbb3ce01a9a8fec4d3e0bbfc4484d017bb 100644 (file)
@@ -130,7 +130,8 @@ class ManifestFormat(StrEnum):
 
 class Compression(StrEnum):
     none = enum.auto()
-    zst  = enum.auto()
+    zstd = enum.auto()
+    zst  = "zstd"
     xz   = enum.auto()
     bz2  = enum.auto()
     gz   = enum.auto()
@@ -283,7 +284,7 @@ def config_parse_compression(value: Optional[str], old: Optional[Compression]) -
     try:
         return Compression[value]
     except KeyError:
-        return Compression.zst if parse_boolean(value) else Compression.none
+        return Compression.zstd if parse_boolean(value) else Compression.none
 
 
 def config_parse_seed(value: Optional[str], old: Optional[str]) -> Optional[uuid.UUID]:
@@ -314,7 +315,7 @@ def config_default_compression(namespace: argparse.Namespace) -> Compression:
         if namespace.distribution.is_centos_variant() and int(namespace.release) <= 8:
             return Compression.xz
         else:
-            return Compression.zst
+            return Compression.zstd
     else:
         return Compression.none
 
index f5bc6afe3cb5391af0d8171f31814da12cec3e54..7539347d1c229868ff39d27729b3190d91aed3c0 100644 (file)
@@ -27,18 +27,19 @@ from mkosi.util import chdir
 
 
 def test_compression_enum_creation() -> None:
-    assert Compression("none") == Compression.none
-    assert Compression("zst") == Compression.zst
-    assert Compression("xz") == Compression.xz
-    assert Compression("bz2") == Compression.bz2
-    assert Compression("gz") == Compression.gz
-    assert Compression("lz4") == Compression.lz4
-    assert Compression("lzma") == Compression.lzma
+    assert Compression["none"] == Compression.none
+    assert Compression["zstd"] == Compression.zstd
+    assert Compression["zst"] == Compression.zstd
+    assert Compression["xz"] == Compression.xz
+    assert Compression["bz2"] == Compression.bz2
+    assert Compression["gz"] == Compression.gz
+    assert Compression["lz4"] == Compression.lz4
+    assert Compression["lzma"] == Compression.lzma
 
 
 def test_compression_enum_bool() -> None:
     assert not bool(Compression.none)
-    assert bool(Compression.zst)
+    assert bool(Compression.zstd)
     assert bool(Compression.xz)
     assert bool(Compression.bz2)
     assert bool(Compression.gz)
@@ -48,7 +49,8 @@ def test_compression_enum_bool() -> None:
 
 def test_compression_enum_str() -> None:
     assert str(Compression.none) == "none"
-    assert str(Compression.zst)  == "zst"
+    assert str(Compression.zstd) == "zstd"
+    assert str(Compression.zst)  == "zstd"
     assert str(Compression.xz)   == "xz"
     assert str(Compression.bz2)  == "bz2"
     assert str(Compression.gz)   == "gz"