From a5dc0a45fefb5ea0b99ae3f0e2cea234aa4e4f9d Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 6 Sep 2010 05:44:00 +0200 Subject: [PATCH] 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. --- Makefile.am | 14 +++++++++++++- units/debian/umountfs.service | 18 ++++++++++++++++++ units/debian/umountnfs.service | 18 ++++++++++++++++++ units/debian/umountroot.service | 18 ++++++++++++++++++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 units/debian/umountfs.service create mode 100644 units/debian/umountnfs.service create mode 100644 units/debian/umountroot.service diff --git a/Makefile.am b/Makefile.am index 944b8718..b40aa96c 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 00000000..804db885 --- /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 00000000..598c3d4f --- /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 00000000..5d116022 --- /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 -- 2.39.5