chiark / gitweb /
random-seed: add little tool for saving/loading random seed on shutdown/boot, but...
authorLennart Poettering <lennart@poettering.net>
Sat, 14 Aug 2010 17:17:37 +0000 (19:17 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 14 Aug 2010 17:17:37 +0000 (19:17 +0200)
Makefile.am
fixme
units/systemd-random-seed-load.service.in [new file with mode: 0644]
units/systemd-random-seed-save.service.in [new file with mode: 0644]

index 2c1caa598916a1e859b3235b357fb07aafc6f024..384778ee60cf91f3d340d350842af7a9f9ca665e 100644 (file)
@@ -50,6 +50,7 @@ AM_CPPFLAGS = \
        -DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
        -DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
        -DRUNTIME_DIR=\"$(localstatedir)/run\" \
+       -DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
        -I $(top_srcdir)/src
 
 rootbin_PROGRAMS = \
@@ -69,7 +70,8 @@ rootlibexec_PROGRAMS = \
        systemd-logger \
        systemd-cgroups-agent \
        systemd-initctl \
-       systemd-update-utmp
+       systemd-update-utmp \
+       systemd-random-seed
 
 noinst_PROGRAMS = \
        test-engine \
@@ -161,6 +163,8 @@ nodist_systemunit_DATA = \
        units/systemd-logger.service \
        units/systemd-update-utmp-runlevel.service \
        units/systemd-update-utmp-shutdown.service \
+       units/systemd-random-seed-save.service \
+       units/systemd-random-seed-load.service \
        units/syslog.target
 
 dist_sessionunit_DATA = \
@@ -180,6 +184,8 @@ EXTRA_DIST = \
        units/systemd-logger.service.in \
        units/systemd-update-utmp-runlevel.service.in \
        units/systemd-update-utmp-shutdown.service.in \
+       units/systemd-random-seed-save.service.in \
+       units/systemd-random-seed-load.service.in \
        units/syslog.target.in \
        units/session/exit.service.in \
        systemd.pc.in
@@ -514,6 +520,15 @@ systemd_update_utmp_LDADD = \
        $(DBUS_LIBS) \
        $(AUDIT_LIBS)
 
+systemd_random_seed_SOURCES = \
+       src/random-seed.c
+
+systemd_random_seed_CFLAGS = \
+       $(AM_CFLAGS)
+
+systemd_random_seed_LDADD = \
+       libsystemd-basic.la
+
 systemd_cgroups_agent_SOURCES = \
        src/cgroups-agent.c \
        src/dbus-common.c
diff --git a/fixme b/fixme
index e9acede730403dc5dd7e995f732180162c0205e6..2df43c34b6f8387de3e0afc5f6bf9cf3e8ace884 100644 (file)
--- a/fixme
+++ b/fixme
@@ -23,7 +23,7 @@
 
 * add #ifdefs for non-sysv builds
 
-* reinvestigate random seed, hwclock
+* reinvestigate hwclock
 
 * "disabled" load state?
 
diff --git a/units/systemd-random-seed-load.service.in b/units/systemd-random-seed-load.service.in
new file mode 100644 (file)
index 0000000..4d5841d
--- /dev/null
@@ -0,0 +1,20 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+
+[Unit]
+Description=Load Random Seed
+DefaultDependencies=no
+After=local-fs.target
+Conflicts=shutdown.target
+Before=shutdown.target
+
+[Service]
+Type=oneshot
+ExecStart=-@rootlibexecdir@/systemd-random-seed load
+
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-random-seed-save.service.in b/units/systemd-random-seed-save.service.in
new file mode 100644 (file)
index 0000000..654c859
--- /dev/null
@@ -0,0 +1,19 @@
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+
+[Unit]
+Description=Save Random Seed
+DefaultDependencies=no
+Before=poweroff.service reboot.service halt.service killall.service
+Conflicts=systemd-random-seed-save.service
+
+[Service]
+Type=oneshot
+ExecStart=-@rootlibexecdir@/systemd-random-seed save
+
+[Install]
+WantedBy=shutdown.target