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
"--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():
)
+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()
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 (