From a1405db67c9fa6e8d734933cc7dd208bdb703cae Mon Sep 17 00:00:00 2001 From: Didier Roche Date: Mon, 24 Nov 2014 10:12:06 +0100 Subject: [PATCH] machine-id-commit: add unit file The unit file only active the machine-id-commit helper if /etc is mounted writable and /etc/machine-id is an independant mount point (should be a tmpfs). --- Makefile.am | 5 +++++ units/.gitignore | 1 + units/systemd-machine-id-commit.service.in | 21 +++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 units/systemd-machine-id-commit.service.in diff --git a/Makefile.am b/Makefile.am index 2efd0333fe..5b46243e65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -537,6 +537,7 @@ nodist_systemunit_DATA = \ units/systemd-kexec.service \ units/systemd-fsck@.service \ units/systemd-fsck-root.service \ + units/systemd-machine-id-commit.service \ units/systemd-udevd.service \ units/systemd-udev-trigger.service \ units/systemd-udev-settle.service \ @@ -589,6 +590,7 @@ EXTRA_DIST += \ units/user/systemd-exit.service.in \ units/systemd-fsck@.service.in \ units/systemd-fsck-root.service.in \ + units/systemd-machine-id-commit.service.in \ units/user@.service.in \ units/debug-shell.service.in \ units/systemd-suspend.service.in \ @@ -2227,6 +2229,9 @@ systemd_machine_id_commit_LDADD = \ libsystemd-internal.la \ libsystemd-shared.la +SYSINIT_TARGET_WANTS += \ + systemd-machine-id-commit.service + # ------------------------------------------------------------------------------ systemd_ac_power_SOURCES = \ src/ac-power/ac-power.c diff --git a/units/.gitignore b/units/.gitignore index a1276e5b61..e12d299e50 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -25,6 +25,7 @@ /systemd-firstboot.service /systemd-fsck-root.service /systemd-fsck@.service +/systemd-machine-id-commit.service /systemd-halt.service /systemd-hibernate.service /systemd-hostnamed.service diff --git a/units/systemd-machine-id-commit.service.in b/units/systemd-machine-id-commit.service.in new file mode 100644 index 0000000000..dd765b6608 --- /dev/null +++ b/units/systemd-machine-id-commit.service.in @@ -0,0 +1,21 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +[Unit] +Description=Commit a transient machine-id on disk +Documentation=man:systemd-machine-id-commit.service(8) +DefaultDependencies=no +Conflicts=shutdown.target +Before=sysinit.target shutdown.target +After=local-fs.target +ConditionPathIsReadWrite=/etc +ConditionPathIsMountPoint=/etc/machine-id + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@rootlibexecdir@/systemd-machine-id-commit