2010/9/7 Lennart Poettering <[email protected]>:
>> +StandardInput=tty
>
> It's probably smart to remove the StandardInput=tty lines from all these
> units, as this might create a problem if some process continues running
> that owns the console (e.g. a left-over getty or so). Because in this
> case these units will try to acquire the console and eventually time
> out.

As discussed on irc, StandardOutput=tty is what I wanted here.

I've attached an updated patch for your convenience.

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
From 83bebd54d08eb14dea1fa8524e39c884af2293ee Mon Sep 17 00:00:00 2001
From: Michael Biebl <[email protected]>
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 deletions(-)
 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 a665904..2bafe16 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
@@ -963,6 +966,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 0000000..804db88
--- /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 0000000..598c3d4
--- /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 0000000..5d11602
--- /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
-- 
1.7.1

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to