]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Make sure we build initrd with same force as final image
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 9 May 2023 09:07:29 +0000 (11:07 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 9 May 2023 09:18:54 +0000 (11:18 +0200)
mkosi/__init__.py
mkosi/state.py

index 5b6504a972b22c2e419d6223f433b79257c9c861..16c2b9abceebe57269f2d9e8d90a2316c4bbef70 100644 (file)
@@ -775,13 +775,13 @@ def install_unified_kernel(state: MkosiState, roothash: Optional[str]) -> None:
                 "--make-initrd", "yes",
                 "--bootable", "no",
                 "--manifest-format", "",
-                "-f",
+                *(["-f"] * state.args.force),
                 "build",
             ])
 
             config = presets[0]
             unlink_output(args, config)
-            build_image(state.uid, state.gid, config)
+            build_image(state.uid, state.gid, args, config)
 
             initrds = [config.output_dir / config.output]
 
@@ -1590,7 +1590,7 @@ def invoke_repart(state: MkosiState, skip: Sequence[str] = [], split: bool = Fal
     return f"roothash={roothash}" if roothash else f"usrhash={usrhash}" if usrhash else None, split_paths
 
 
-def build_image(uid: int, gid: int, config: MkosiConfig) -> None:
+def build_image(uid: int, gid: int, args: MkosiArgs, config: MkosiConfig) -> None:
     workspace = tempfile.TemporaryDirectory(dir=config.workspace_dir or Path.cwd(), prefix=".mkosi.tmp")
     workspace_dir = Path(workspace.name)
     cache = config.cache_dir or workspace_dir / "cache"
@@ -1598,6 +1598,7 @@ def build_image(uid: int, gid: int, config: MkosiConfig) -> None:
     state = MkosiState(
         uid=uid,
         gid=gid,
+        args=args,
         config=config,
         workspace=workspace_dir,
         cache=cache,
@@ -2267,7 +2268,7 @@ def run_verb(args: MkosiArgs, presets: Sequence[MkosiConfig]) -> None:
             def target() -> None:
                 # Get the user UID/GID either on the host or in the user namespace running the build
                 uid, gid = become_root()
-                build_image(uid, gid, config)
+                build_image(uid, gid, args, config)
 
             # We only want to run the build in a user namespace but not the following steps. Since we
             # can't rejoin the parent user namespace after unsharing from it, let's run the build in a
index fa7c2b8554d058b273bd14f205325b089fc9fe94..77ab1aab39bfbfc4ad4ea418653d9ccb704ec846 100644 (file)
@@ -5,7 +5,7 @@ import importlib
 from pathlib import Path
 
 from mkosi.btrfs import btrfs_maybe_make_subvolume
-from mkosi.config import MkosiConfig
+from mkosi.config import MkosiArgs, MkosiConfig
 from mkosi.distributions import DistributionInstaller
 from mkosi.log import die
 
@@ -16,6 +16,7 @@ class MkosiState:
 
     uid: int
     gid: int
+    args: MkosiArgs
     config: MkosiConfig
     workspace: Path
     cache: Path