From: Daan De Meyer Date: Tue, 21 Jan 2025 09:15:29 +0000 (+0100) Subject: Reduce duplication between mkosi-initrd and mkosi-addon X-Git-Tag: v25~17^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd3d2cc765641fe8aff3dfa95cef0680db032ed6;p=thirdparty%2Fmkosi.git Reduce duplication between mkosi-initrd and mkosi-addon --- diff --git a/mkosi/addon.py b/mkosi/addon.py index 819f13774..37d1d3d09 100644 --- a/mkosi/addon.py +++ b/mkosi/addon.py @@ -9,7 +9,7 @@ from pathlib import Path import mkosi.resources from mkosi.config import DocFormat from mkosi.documentation import show_docs -from mkosi.initrd import initrd_common_args, initrd_finalize, process_crypttab +from mkosi.initrd import include_system_config, initrd_common_args, initrd_finalize, process_crypttab from mkosi.log import log_setup from mkosi.run import run, uncaught_exception_handler from mkosi.types import PathString @@ -69,15 +69,7 @@ def main() -> None: "--output-mode=600", ] - for d in ( - "/usr/lib/mkosi-addon", - "/usr/local/lib/mkosi-addon", - "/run/mkosi-addon", - "/etc/mkosi-addon", - ): - if Path(d).exists(): - cmdline += ["--include", d] - + cmdline += include_system_config("mkosi-addon") cmdline += process_crypttab(staging_dir) if Path("/etc/kernel/cmdline").exists(): diff --git a/mkosi/initrd.py b/mkosi/initrd.py index 751df9fd5..d8f9abc0d 100644 --- a/mkosi/initrd.py +++ b/mkosi/initrd.py @@ -176,6 +176,17 @@ def initrd_common_args(parser: argparse.ArgumentParser) -> None: ) +def include_system_config(name: str) -> list[str]: + cmdline = [] + + for d in ("/usr/lib", "/usr/local/lib", "/run", "/etc"): + p = Path(d) / name + if p.exists(): + cmdline += ["--include", os.fspath(p)] + + return cmdline + + @uncaught_exception_handler() def main() -> None: log_setup() @@ -255,14 +266,7 @@ def main() -> None: if args.format != OutputFormat.directory.value: cmdline += ["--output-mode=600"] - for d in ( - "/usr/lib/mkosi-initrd", - "/usr/local/lib/mkosi-initrd", - "/run/mkosi-initrd", - "/etc/mkosi-initrd", - ): - if Path(d).exists(): - cmdline += ["--include", d] + cmdline += include_system_config("mkosi-initrd") # Make sure we don't use any of mkosi's default repositories. for p in (