]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Get rid of line_join_tree_list()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 2 Mar 2024 13:26:29 +0000 (14:26 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 2 Mar 2024 14:46:14 +0000 (15:46 +0100)
mkosi/__init__.py
mkosi/config.py

index 74e20fe3009fc3efeb4fec7fa3bb50239c98c736..27786d6174684f67d958c457f92c1f38d16b260b 100644 (file)
@@ -40,7 +40,6 @@ from mkosi.config import (
     Verb,
     __version__,
     format_bytes,
-    format_tree,
     parse_config,
     summary,
     systemd_tool_version,
@@ -1577,7 +1576,7 @@ def build_default_initrd(context: Context) -> Path:
         *(["--mirror", context.config.mirror] if context.config.mirror else []),
         "--repository-key-check", str(context.config.repository_key_check),
         "--repositories", ",".join(context.config.repositories),
-        "--package-manager-tree", ",".join(format_tree(t) for t in context.config.package_manager_trees),
+        "--package-manager-tree", ",".join(str(t) for t in context.config.package_manager_trees),
         # Note that when compress_output == Compression.none == 0 we don't pass --compress-output which means the
         # default compression will get picked. This is exactly what we want so that initrds are always compressed.
         *(["--compress-output", str(context.config.compress_output)] if context.config.compress_output else []),
index a82c30122454e26fd51b17e435347ef88f7a977f..d5fc961b8d9328c38052040d97b8dd09d8cfab30 100644 (file)
@@ -124,6 +124,9 @@ class ConfigTree:
     def with_prefix(self, prefix: Path = Path("/")) -> tuple[Path, Path]:
         return (self.source, prefix / os.fspath(self.target).lstrip("/") if self.target else prefix)
 
+    def __str__(self) -> str:
+        return f"{self.source}:{self.target}" if self.target else f"{self.source}"
+
 
 @dataclasses.dataclass(frozen=True)
 class QemuDrive:
@@ -3431,24 +3434,8 @@ def none_to_default(s: Optional[object]) -> str:
     return "default" if s is None else str(s)
 
 
-def line_join_list(array: Iterable[PathString]) -> str:
-    if not array:
-        return "none"
-
-    items = (str(none_to_none(cast(Path, item))) for item in array)
-    return "\n                                     ".join(items)
-
-
-def format_tree(tree: ConfigTree) -> str:
-    return f"{tree.source}:{tree.target}" if tree.target else f"{tree.source}"
-
-
-def line_join_tree_list(array: Sequence[ConfigTree]) -> str:
-    if not array:
-        return "none"
-
-    items = [format_tree(tree) for tree in array]
-    return "\n                                     ".join(items)
+def line_join_list(array: Iterable[object]) -> str:
+    return "\n                                     ".join(str(item) for item in array) if array else "none"
 
 
 def format_bytes(num_bytes: int) -> str:
@@ -3493,7 +3480,7 @@ def summary(config: Config) -> str:
            Repo Signature/Key check: {yes_no(config.repository_key_check)}
                        Repositories: {line_join_list(config.repositories)}
              Use Only Package Cache: {config.cacheonly}
-              Package Manager Trees: {line_join_tree_list(config.package_manager_trees)}
+              Package Manager Trees: {line_join_list(config.package_manager_trees)}
 
     {bold("OUTPUT")}:
                       Output Format: {config.output_format}
@@ -3522,8 +3509,8 @@ def summary(config: Config) -> str:
                  With Documentation: {yes_no(config.with_docs)}
 
                          Base Trees: {line_join_list(config.base_trees)}
-                     Skeleton Trees: {line_join_tree_list(config.skeleton_trees)}
-                        Extra Trees: {line_join_tree_list(config.extra_trees)}
+                     Skeleton Trees: {line_join_list(config.skeleton_trees)}
+                        Extra Trees: {line_join_list(config.extra_trees)}
 
                     Remove Packages: {line_join_list(config.remove_packages)}
                        Remove Files: {line_join_list(config.remove_files)}
@@ -3535,7 +3522,7 @@ def summary(config: Config) -> str:
                       Build Scripts: {line_join_list(config.build_scripts)}
                 Postinstall Scripts: {line_join_list(config.postinst_scripts)}
                    Finalize Scripts: {line_join_list(config.finalize_scripts)}
-                      Build Sources: {line_join_tree_list(config.build_sources)}
+                      Build Sources: {line_join_list(config.build_sources)}
             Build Sources Ephemeral: {yes_no(config.build_sources_ephemeral)}
                  Script Environment: {line_join_list(env)}
                   Environment Files: {line_join_list(config.environment_files)}
@@ -3609,7 +3596,7 @@ def summary(config: Config) -> str:
                  Tools Tree Release: {none_to_none(config.tools_tree_release)}
                   Tools Tree Mirror: {none_to_default(config.tools_tree_mirror)}
                 Tools Tree Packages: {line_join_list(config.tools_tree_packages)}
-                      Runtime Trees: {line_join_tree_list(config.runtime_trees)}
+                      Runtime Trees: {line_join_list(config.runtime_trees)}
                        Runtime Size: {format_bytes_or_none(config.runtime_size)}
                     Runtime Scratch: {config.runtime_scratch}
                     SSH Signing Key: {none_to_none(config.ssh_key)}