]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Don't try to install build packages if we have none
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 27 Apr 2023 18:09:34 +0000 (20:09 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 30 Apr 2023 20:53:55 +0000 (22:53 +0200)
mkosi/__init__.py

index e8322779cf8f338cf4b1a1ca31c86e2ff8e1f5c5..57703835c9a51bdb9e88347353fdaec4b4dee99e 100644 (file)
@@ -280,19 +280,12 @@ def install_distribution(state: MkosiState) -> None:
 
 
 def install_build_packages(state: MkosiState) -> None:
-    if state.config.build_script is None:
+    if state.config.build_script is None or not state.config.build_packages:
         return
 
     with complete_step(f"Installing build packages for {str(state.config.distribution).capitalize()}"), mount_build_overlay(state):
         state.installer.install_packages(state, state.config.build_packages)
 
-        # Create a few necessary mount points inside the build overlay for later.
-        state.root.joinpath("work").mkdir(mode=0o755)
-        state.root.joinpath("work/src").mkdir(mode=0o755)
-        state.root.joinpath("work/dest").mkdir(mode=0o755)
-        state.root.joinpath("work/build-script").touch(mode=0o755)
-        state.root.joinpath("work/build").mkdir(mode=0o755)
-
 
 def remove_packages(state: MkosiState) -> None:
     """Remove packages listed in config.remove_packages"""
@@ -1574,6 +1567,14 @@ def run_build_script(state: MkosiState) -> None:
     if state.config.install_dir:
         empty_directory(state.config.install_dir)
 
+    # Create a few necessary mount points inside the build overlay.
+    with mount_build_overlay(state):
+        state.root.joinpath("work").mkdir(mode=0o755, exist_ok=True)
+        state.root.joinpath("work/src").mkdir(mode=0o755, exist_ok=True)
+        state.root.joinpath("work/dest").mkdir(mode=0o755, exist_ok=True)
+        state.root.joinpath("work/build-script").touch(mode=0o755, exist_ok=True)
+        state.root.joinpath("work/build").mkdir(mode=0o755, exist_ok=True)
+
     with complete_step("Running build script…"), mount_build_overlay(state, read_only=True):
         bwrap: list[PathString] = [
             "--bind", state.config.build_sources, "/work/src",