From c35b956d34bbb8bb208e49e45de2c103ca11911c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 15 May 2013 22:38:51 +0200 Subject: [PATCH] units: rework systemd-random-seed-{load,save}.service to be a single service That way ordering it with MountsRequiredFor= works properly, as this no longer results in mount units start requests to be added to the shutdown transaction that conflict with stop requests for the same unit. --- Makefile-man.am | 11 +++------- Makefile.am | 10 +++------ ...ce.xml => systemd-random-seed.service.xml} | 21 +++++++------------ units/.gitignore | 3 +-- units/systemd-random-seed-save.service.in | 18 ---------------- ...vice.in => systemd-random-seed.service.in} | 7 +++++-- units/systemd-tmpfiles-setup.service.in | 1 + 7 files changed, 21 insertions(+), 50 deletions(-) rename man/{systemd-random-seed-load.service.xml => systemd-random-seed.service.xml} (74%) delete mode 100644 units/systemd-random-seed-save.service.in rename units/{systemd-random-seed-load.service.in => systemd-random-seed.service.in} (77%) diff --git a/Makefile-man.am b/Makefile-man.am index 481423a96..7d620943a 100644 --- a/Makefile-man.am +++ b/Makefile-man.am @@ -667,16 +667,11 @@ endif if ENABLE_RANDOMSEED MANPAGES += \ - man/systemd-random-seed-load.service.8 + man/systemd-random-seed.service.8 MANPAGES_ALIAS += \ - man/systemd-random-seed-save.service.8 \ man/systemd-random-seed.8 -man/systemd-random-seed-save.service.8: man/systemd-random-seed-load.service.8 -man/systemd-random-seed.8: man/systemd-random-seed-load.service.8 -man/systemd-random-seed-save.service.html: man/systemd-random-seed-load.service.html - $(html-alias) - -man/systemd-random-seed.html: man/systemd-random-seed-load.service.html +man/systemd-random-seed.8: man/systemd-random-seed.service.8 +man/systemd-random-seed.html: man/systemd-random-seed.service.html $(html-alias) endif diff --git a/Makefile.am b/Makefile.am index fa626c5a2..8d8139c13 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3162,8 +3162,7 @@ rootlibexec_PROGRAMS += \ systemd-random-seed nodist_systemunit_DATA += \ - units/systemd-random-seed-save.service \ - units/systemd-random-seed-load.service + units/systemd-random-seed.service systemd_random_seed_SOURCES = \ src/random-seed/random-seed.c @@ -3172,16 +3171,13 @@ systemd_random_seed_LDADD = \ libsystemd-label.la \ libsystemd-shared.la -SHUTDOWN_TARGET_WANTS += \ - systemd-random-seed-save.service SYSINIT_TARGET_WANTS += \ - systemd-random-seed-load.service + systemd-random-seed.service endif EXTRA_DIST += \ - units/systemd-random-seed-save.service.in \ - units/systemd-random-seed-load.service.in + units/systemd-random-seed.service.in # ------------------------------------------------------------------------------ if HAVE_LIBCRYPTSETUP diff --git a/man/systemd-random-seed-load.service.xml b/man/systemd-random-seed.service.xml similarity index 74% rename from man/systemd-random-seed-load.service.xml rename to man/systemd-random-seed.service.xml index 693c008a2..8cd14b74c 100644 --- a/man/systemd-random-seed-load.service.xml +++ b/man/systemd-random-seed.service.xml @@ -19,10 +19,10 @@ You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> - + - systemd-random-seed-load.service + systemd-random-seed.service systemd @@ -36,32 +36,27 @@ - systemd-random-seed-load.service + systemd-random-seed.service 8 - systemd-random-seed-load.service - systemd-random-seed-save.service + systemd-random-seed.service systemd-random-seed Load and save the system random seed at boot and shutdown - systemd-random-seed-load.service - systemd-random-seed-save.service + systemd-random-seed.service /usr/lib/systemd/systemd-random-seed Description - systemd-random-seed-load.service - is an early-boot service that restores the random seed - of the - system. systemd-random-seed-save.service - is a late-shutdown service that saves the random seed - of the system. See + systemd-random-seed.service + is a service that restores the random seed of the + system at early-boot and saves it at shutdown. See random4 for details. Saving/restoring the random seed across boots increases the amount of available entropy early diff --git a/units/.gitignore b/units/.gitignore index 606d94763..307e09d24 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -41,8 +41,7 @@ /systemd-remount-fs.service /systemd-vconsole-setup.service /systemd-shutdownd.service -/systemd-random-seed-load.service -/systemd-random-seed-save.service +/systemd-random-seed.service /systemd-initctl.service /getty@.service /systemd-update-utmp-runlevel.service diff --git a/units/systemd-random-seed-save.service.in b/units/systemd-random-seed-save.service.in deleted file mode 100644 index 3444d4ce7..000000000 --- a/units/systemd-random-seed-save.service.in +++ /dev/null @@ -1,18 +0,0 @@ -# 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=Save Random Seed -Documentation=man:systemd-random-seed-load.service(8) man:random(4) -DefaultDependencies=no -RequiresMountsFor=@RANDOM_SEED@ -After=systemd-remount-fs.service systemd-random-seed-load.service -Before=final.target - -[Service] -Type=oneshot -ExecStart=@rootlibexecdir@/systemd-random-seed save diff --git a/units/systemd-random-seed-load.service.in b/units/systemd-random-seed.service.in similarity index 77% rename from units/systemd-random-seed-load.service.in rename to units/systemd-random-seed.service.in index e9156ef08..0c21a0484 100644 --- a/units/systemd-random-seed-load.service.in +++ b/units/systemd-random-seed.service.in @@ -6,13 +6,16 @@ # (at your option) any later version. [Unit] -Description=Load Random Seed +Description=Load/Save Random Seed Documentation=man:systemd-random-seed-load.service(8) man:random(4) DefaultDependencies=no RequiresMountsFor=@RANDOM_SEED@ +Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service -Before=sysinit.target final.target +Before=sysinit.target shutdown.target [Service] Type=oneshot +RemainAfterExit=yes ExecStart=@rootlibexecdir@/systemd-random-seed load +ExecStop=@rootlibexecdir@/systemd-random-seed save diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in index 4a3441c3a..67c7d4af4 100644 --- a/units/systemd-tmpfiles-setup.service.in +++ b/units/systemd-tmpfiles-setup.service.in @@ -10,6 +10,7 @@ Description=Recreate Volatile Files and Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) DefaultDependencies=no Wants=local-fs.target +Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target Before=sysinit.target shutdown.target ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d -- 2.30.2