chiark / gitweb /
units: add umount unit files for Debian
authorMichael Biebl <biebl@debian.org>
Mon, 6 Sep 2010 03:44:00 +0000 (05:44 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 8 Sep 2010 00:12:38 +0000 (02:12 +0200)
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.

Makefile.am
units/debian/umountfs.service [new file with mode: 0644]
units/debian/umountnfs.service [new file with mode: 0644]
units/debian/umountroot.service [new file with mode: 0644]

index 944b8718ab051b60fe1ccf97cbc32b2090d6507e..b40aa96c34fe96e17dde1277877c9eeb26e6ce74 100644 (file)
@@ -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 (file)
index 0000000..804db88
--- /dev/null
@@ -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 (file)
index 0000000..598c3d4
--- /dev/null
@@ -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 (file)
index 0000000..5d11602
--- /dev/null
@@ -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