break
+def copy_nspawn_settings(context: Context) -> None:
+ if context.config.nspawn_settings is None:
+ return None
+
+ with complete_step("Copying nspawn settings fileā¦"):
+ shutil.copy2(context.config.nspawn_settings, context.staging / context.config.output_nspawn_settings)
+
+
def copy_initrd(context: Context) -> None:
if (context.staging / context.config.output_split_initrd).exists():
return
config.output_with_compression,
config.output_checksum if config.checksum else None,
config.output_signature if config.sign else None,
+ config.output_nspawn_settings if config.nspawn_settings else None,
):
if f and (config.output_dir_or_cwd() / f).exists():
die(f"Output path {f} exists already. (Consider invocation with --force.)")
if context.config.split_artifacts:
make_disk(context, split=True, msg="Extracting partitions")
+ copy_nspawn_settings(context)
copy_vmlinuz(context)
copy_initrd(context)
cmdline += [f"--set-credential={k}:{v}"]
with contextlib.ExitStack() as stack:
+ # Make sure the latest nspawn settings are always used.
if config.nspawn_settings:
+ if not (config.output_dir_or_cwd() / f"{name}.nspawn").exists():
+ stack.callback(lambda: (config.output_dir_or_cwd() / f"{name}.nspawn").unlink(missing_ok=True))
shutil.copy2(config.nspawn_settings, config.output_dir_or_cwd() / f"{name}.nspawn")
- stack.callback(lambda: (config.output_dir_or_cwd() / f"{name}.nspawn").unlink())
if config.ephemeral:
fname = stack.enter_context(copy_ephemeral(config, config.output_dir_or_cwd() / config.output))
def output_split_initrd(self) -> str:
return f"{self.output}.initrd"
+ @property
+ def output_nspawn_settings(self) -> str:
+ return f"{self.output}.nspawn"
+
@property
def output_checksum(self) -> str:
return f"{self.output}.SHA256SUMS"