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.
This commit is contained in:
Lennart Poettering 2013-05-15 22:38:51 +02:00
parent 453a0c2946
commit c35b956d34
7 changed files with 21 additions and 50 deletions

View File

@ -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

View File

@ -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

View File

@ -19,10 +19,10 @@
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="systemd-random-seed-load.service" conditional='ENABLE_RANDOMSEED'>
<refentry id="systemd-random-seed.service" conditional='ENABLE_RANDOMSEED'>
<refentryinfo>
<title>systemd-random-seed-load.service</title>
<title>systemd-random-seed.service</title>
<productname>systemd</productname>
<authorgroup>
@ -36,32 +36,27 @@
</refentryinfo>
<refmeta>
<refentrytitle>systemd-random-seed-load.service</refentrytitle>
<refentrytitle>systemd-random-seed.service</refentrytitle>
<manvolnum>8</manvolnum>
</refmeta>
<refnamediv>
<refname>systemd-random-seed-load.service</refname>
<refname>systemd-random-seed-save.service</refname>
<refname>systemd-random-seed.service</refname>
<refname>systemd-random-seed</refname>
<refpurpose>Load and save the system random seed at boot and shutdown</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>systemd-random-seed-load.service</filename></para>
<para><filename>systemd-random-seed-save.service</filename></para>
<para><filename>systemd-random-seed.service</filename></para>
<para><filename>/usr/lib/systemd/systemd-random-seed</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><filename>systemd-random-seed-load.service</filename>
is an early-boot service that restores the random seed
of the
system. <filename>systemd-random-seed-save.service</filename>
is a late-shutdown service that saves the random seed
of the system. See
<para><filename>systemd-random-seed.service</filename>
is a service that restores the random seed of the
system at early-boot and saves it at shutdown. See
<citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>
for details. Saving/restoring the random seed across
boots increases the amount of available entropy early

3
units/.gitignore vendored
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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