summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am7
-rw-r--r--units/fedora/halt-local.service20
-rw-r--r--units/fedora/rc-local.service2
3 files changed, 28 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index b3f2abc203..f129525f2e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -280,6 +280,7 @@ if TARGET_FEDORA
dist_systemunit_DATA += \
units/fedora/prefdm.service \
units/fedora/rc-local.service \
+ units/fedora/halt-local.service \
units/fedora/sysinit.service \
units/fedora/single.service \
units/fedora/plymouth-quit.service \
@@ -1118,7 +1119,8 @@ if TARGET_FEDORA
$(DESTDIR)$(systemunitdir)/poweroff.target.wants \
$(DESTDIR)$(systemunitdir)/halt.target.wants \
$(DESTDIR)$(systemunitdir)/rescue.target.wants \
- $(DESTDIR)$(systemunitdir)/multi-user.target.wants
+ $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
+ $(DESTDIR)$(systemunitdir)/final.target.wants
( cd $(DESTDIR)$(pkgsysconfdir)/system && \
rm -f display-manager.service && \
$(LN_S) $(systemunitdir)/prefdm.service display-manager.service )
@@ -1128,6 +1130,9 @@ if TARGET_FEDORA
( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
rm -f rc-local.service && \
$(LN_S) $(systemunitdir)/rc-local.service rc-local.service )
+ ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
+ rm -f halt-local.service && \
+ $(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
( cd $(DESTDIR)$(systemunitdir)/rescue.target.wants && \
rm -f single.service && \
$(LN_S) $(systemunitdir)/single.service single.service )
diff --git a/units/fedora/halt-local.service b/units/fedora/halt-local.service
new file mode 100644
index 0000000000..79f8f12b7d
--- /dev/null
+++ b/units/fedora/halt-local.service
@@ -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=/sbin/halt.local Compatibility
+ConditionPathExists=/sbin/halt.local
+DefaultDependencies=no
+After=shutdown.target
+Before=final.target
+
+[Service]
+Type=oneshot
+ExecStart=/sbin/halt.local
+TimeoutSec=0
+StandardOutput=tty
+RemainAfterExit=yes
diff --git a/units/fedora/rc-local.service b/units/fedora/rc-local.service
index 90a38a01bd..564969c792 100644
--- a/units/fedora/rc-local.service
+++ b/units/fedora/rc-local.service
@@ -7,12 +7,14 @@
[Unit]
Description=/etc/rc.local Compatibility
+ConditionPathExists=/etc/rc.local
# The rcN.d symlink uses the name "local" while the script itself is
# called "rc.local", hence carry both names here.
Names=rc-local.service local.service
[Service]
+Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty