From: Daan De Meyer Date: Tue, 22 Aug 2023 07:08:18 +0000 (+0200) Subject: Make sure unit and preset directories exist in configure_ssh() X-Git-Tag: v16~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6721f96d459f02002206962a51d2a495c0a4bec;p=thirdparty%2Fmkosi.git Make sure unit and preset directories exist in configure_ssh() Fixes #1811 --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 0c82ec4d8..22e53af1b 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -1379,8 +1379,12 @@ def configure_ssh(state: MkosiState) -> None: if not state.config.ssh: return + unitdir = state.root / "usr/lib/systemd/system" + with umask(~0o755): + unitdir.mkdir(parents=True, exist_ok=True) + with umask(~0o644): - (state.root / "usr/lib/systemd/system/ssh.socket").write_text( + (unitdir / "ssh.socket").write_text( textwrap.dedent( """\ [Unit] @@ -1398,7 +1402,7 @@ def configure_ssh(state: MkosiState) -> None: ) ) - (state.root / "usr/lib/systemd/system/ssh@.service").write_text( + (unitdir / "ssh@.service").write_text( textwrap.dedent( """\ [Unit] @@ -1418,8 +1422,11 @@ def configure_ssh(state: MkosiState) -> None: ) ) - presetdir = state.root / "usr/lib/systemd/system-preset" - (presetdir / "80-mkosi-ssh.preset").write_text("enable ssh.socket\n") + preset = state.root / "usr/lib/systemd/system-preset/80-mkosi-ssh.preset" + with umask(~0o755): + preset.parent.mkdir(parents=True, exist_ok=True) + with umask(~0o644): + preset.write_text("enable ssh.socket\n") def configure_initrd(state: MkosiState) -> None: