aboutsummaryrefslogtreecommitdiffstats
path: root/systemd
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2010-09-03 16:57:32 -0400
committerBill Nottingham <notting@redhat.com>2010-09-03 16:57:32 -0400
commitea632a2bedadb6114aa15b3479eecfa84b4fd26e (patch)
tree0861d1e769b66cc0d05997be4e58716da8244b90 /systemd
parentc144039b963c0e220bdd662c61c67dc1bf1c3cc2 (diff)
downloadinitscripts-ea632a2bedadb6114aa15b3479eecfa84b4fd26e.tar
initscripts-ea632a2bedadb6114aa15b3479eecfa84b4fd26e.tar.gz
initscripts-ea632a2bedadb6114aa15b3479eecfa84b4fd26e.tar.bz2
initscripts-ea632a2bedadb6114aa15b3479eecfa84b4fd26e.tar.xz
initscripts-ea632a2bedadb6114aa15b3479eecfa84b4fd26e.zip
Add in basic systemd units.
Factor out upstart/systemd/etc. support in the spec properly.
Diffstat (limited to 'systemd')
-rw-r--r--systemd/halt.service19
-rw-r--r--systemd/killall.service18
-rw-r--r--systemd/poweroff.service19
-rw-r--r--systemd/prefdm.service23
-rw-r--r--systemd/rc-local.service19
-rw-r--r--systemd/reboot.service19
-rw-r--r--systemd/single.service28
-rw-r--r--systemd/sysinit.service19
8 files changed, 164 insertions, 0 deletions
diff --git a/systemd/halt.service b/systemd/halt.service
new file mode 100644
index 00000000..a1c0e84f
--- /dev/null
+++ b/systemd/halt.service
@@ -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=Halt the system
+DefaultDependencies=no
+Requires=umount.target killall.service
+After=umount.target killall.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+Environment=INIT_HALT=HALT RUNLEVEL=0
+ExecStart=/etc/init.d/halt start
+StandardOutput=tty
diff --git a/systemd/killall.service b/systemd/killall.service
new file mode 100644
index 00000000..e03aaba2
--- /dev/null
+++ b/systemd/killall.service
@@ -0,0 +1,18 @@
+# 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=Kill all processes
+DefaultDependencies=no
+After=shutdown.target
+RefuseManualStart=yes
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=-/etc/init.d/killall start
+StandardOutput=tty
diff --git a/systemd/poweroff.service b/systemd/poweroff.service
new file mode 100644
index 00000000..28b4a5f4
--- /dev/null
+++ b/systemd/poweroff.service
@@ -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=Power down the system
+DefaultDependencies=no
+Requires=umount.target killall.service
+After=umount.target killall.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+Environment=RUNLEVEL=0
+ExecStart=/etc/init.d/halt start
+StandardOutput=tty
diff --git a/systemd/prefdm.service b/systemd/prefdm.service
new file mode 100644
index 00000000..bbdf0d37
--- /dev/null
+++ b/systemd/prefdm.service
@@ -0,0 +1,23 @@
+# 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=Display Manager
+After=syslog.target livesys-late.service rc-local.service
+
+# On Fedora gdm/X11 is on tty1. We explicitly cancel the getty here to
+# avoid any races around that.
+Conflicts=getty@tty1.service plymouth-quit.service
+
+[Service]
+ExecStart=/etc/X11/prefdm -nodaemon
+Restart=restart-always
+RestartSec=0
+
+[Install]
+Alias=display-manager.service
+WantedBy=graphical.target
diff --git a/systemd/rc-local.service b/systemd/rc-local.service
new file mode 100644
index 00000000..6be4fcf4
--- /dev/null
+++ b/systemd/rc-local.service
@@ -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=Local customization
+
+[Service]
+ExecStart=/etc/rc.local start
+TimeoutSec=0
+StandardOutput=tty
+RemainAfterExit=yes
+SysVStartPriority=99
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/reboot.service b/systemd/reboot.service
new file mode 100644
index 00000000..622beb58
--- /dev/null
+++ b/systemd/reboot.service
@@ -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=Reboot the system
+DefaultDependencies=no
+Requires=umount.target killall.service
+After=umount.target killall.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+Environment=RUNLEVEL=6
+ExecStart=/etc/init.d/reboot start
+StandardOutput=tty
diff --git a/systemd/single.service b/systemd/single.service
new file mode 100644
index 00000000..18174fb3
--- /dev/null
+++ b/systemd/single.service
@@ -0,0 +1,28 @@
+# 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.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Rescue Shell
+DefaultDependencies=no
+Conflicts=multi-user.target
+After=sysinit.target
+Before=multi-user.target
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/sysconfig/init
+ExecStartPre=-/bin/plymouth --hide-splash
+ExecStart=/bin/bash -c "exec $SINGLE"
+ExecStartPost=/bin/systemctl default
+StandardInput=tty-force
+KillMode=process-group
+
+# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
+# terminates cleanly.
+KillSignal=SIGHUP
diff --git a/systemd/sysinit.service b/systemd/sysinit.service
new file mode 100644
index 00000000..860d3a34
--- /dev/null
+++ b/systemd/sysinit.service
@@ -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=System Initialization
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=shutdown.target emergency.service emergency.target
+
+[Service]
+ExecStart=/etc/rc.d/rc.sysinit
+Type=forking
+TimeoutSec=0
+StandardInput=tty
+RemainAfterExit=yes