summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2010-09-06 05:44:00 +0200
committerLennart Poettering <lennart@poettering.net>2010-09-08 02:12:38 +0200
commita5dc0a45fefb5ea0b99ae3f0e2cea234aa4e4f9d (patch)
tree3fe8edc6b3ee338b08ba97d23adae88d340a5a2e
parentda5fcb10605026d1baa09f6da9b516a5641faa9c (diff)
units: add umount unit files for Debian
Add unit files to call /etc/init.d/umountnfs.sh stop (network file systems) /etc/init.d/umountfs stop (local file systems) /etc/init.d/umountroot stop ("/" file system) in the right order and hook them up in the umount.target so they are run on shutdown and reboot.
-rw-r--r--Makefile.am14
-rw-r--r--units/debian/umountfs.service18
-rw-r--r--units/debian/umountnfs.service18
-rw-r--r--units/debian/umountroot.service18
4 files changed, 67 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 944b8718ab..b40aa96c34 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -236,7 +236,10 @@ dist_systemunit_DATA += \
units/debian/killall.service \
units/debian/poweroff.service \
units/debian/reboot.service \
- units/debian/fsck.target
+ units/debian/fsck.target \
+ units/debian/umountfs.service \
+ units/debian/umountnfs.service \
+ units/debian/umountroot.service
endif
if TARGET_SUSE
@@ -961,6 +964,15 @@ if TARGET_GENTOO
rm -f xdm.service && \
$(LN_S) $(systemunitdir)/xdm.service xdm.service )
endif
+if TARGET_DEBIAN
+ $(MKDIR_P) -m 0755 \
+ $(DESTDIR)$(systemunitdir)/umount.target.wants
+ ( cd $(DESTDIR)$(systemunitdir)/umount.target.wants && \
+ rm -f umountfs.service umountnfs.service umountroot.service && \
+ $(LN_S) ../umountfs.service umountfs.service && \
+ $(LN_S) ../umountnfs.service umountnfs.service && \
+ $(LN_S) ../umountroot.service umountroot.service )
+endif
if !TARGET_SUSE
if !TARGET_DEBIAN
( cd $(DESTDIR)$(systemunitdir) && \
diff --git a/units/debian/umountfs.service b/units/debian/umountfs.service
new file mode 100644
index 0000000000..804db88538
--- /dev/null
+++ b/units/debian/umountfs.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=Turn off swap and umount all local file systems
+DefaultDependencies=no
+After=killall.service
+Before=reboot.service poweroff.service halt.service umountroot.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/etc/init.d/umountfs stop
+StandardOutput=tty
diff --git a/units/debian/umountnfs.service b/units/debian/umountnfs.service
new file mode 100644
index 0000000000..598c3d4fb9
--- /dev/null
+++ b/units/debian/umountnfs.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=Umount all network file systems
+DefaultDependencies=no
+After=killall.service
+Before=reboot.service poweroff.service halt.service umountfs.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/etc/init.d/umountnfs.sh stop
+StandardOutput=tty
diff --git a/units/debian/umountroot.service b/units/debian/umountroot.service
new file mode 100644
index 0000000000..5d11602286
--- /dev/null
+++ b/units/debian/umountroot.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=Mount the root file system read-only
+DefaultDependencies=no
+After=killall.service
+Before=reboot.service poweroff.service halt.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/etc/init.d/umountroot stop
+StandardOutput=tty