]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Only execute preset, hwdb, sysusers tools if they are available
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 20 Jul 2023 09:34:39 +0000 (11:34 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 20 Jul 2023 09:49:37 +0000 (11:49 +0200)
Let's reduce the number of dependencies needed to create a tools tree
by only executing these tools if they are installed on the system.

mkosi/__init__.py

index 7b372c538b8cbdb7580b06e9613e79cc7b040123..570b150c5cb6f9f51816fb4c1d7e8a773407fa4b 100644 (file)
@@ -1499,16 +1499,28 @@ def run_depmod(state: MkosiState) -> None:
 
 
 def run_sysusers(state: MkosiState) -> None:
+    if not shutil.which("systemd-sysusers"):
+        logging.info("systemd-sysusers is not installed, not generating system users")
+        return
+
     with complete_step("Generating system users"):
         run(["systemd-sysusers", "--root", state.root])
 
 
 def run_preset(state: MkosiState) -> None:
+    if not shutil.which("systemctl"):
+        logging.info("systemctl is not installed, not applying presets")
+        return
+
     with complete_step("Applying presets…"):
         run(["systemctl", "--root", state.root, "preset-all"])
 
 
 def run_hwdb(state: MkosiState) -> None:
+    if not shutil.which("systemd-hwdb"):
+        logging.info("systemd-hwdb is not installed, not generating hwdb")
+        return
+
     with complete_step("Generating hardware database"):
         run(["systemd-hwdb", "--root", state.root, "--usr", "--strict", "update"])