chiark / gitweb /
units: activate wall agent automatically if something is dropped in /dev/.systemd...
authorLennart Poettering <lennart@poettering.net>
Mon, 25 Oct 2010 19:02:01 +0000 (21:02 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 Oct 2010 19:02:01 +0000 (21:02 +0200)
Makefile.am
TODO
units/.gitignore
units/systemd-ask-password-wall.path [new file with mode: 0644]
units/systemd-ask-password-wall.service.in [new file with mode: 0644]

index 62dcf78e6fea4f66030a97717788fefb9e57979e..77d1fc938ffcf3f2d4cfa6a2e917d1e5e9a99f3b 100644 (file)
@@ -209,7 +209,8 @@ dist_systemunit_DATA = \
        units/smartcard.target \
        units/systemd-readahead-done.timer \
        units/systemd-tmpfiles-clean.timer \
-       units/quotaon.service
+       units/quotaon.service \
+       units/systemd-ask-password-wall.path
 
 nodist_systemunit_DATA = \
        units/sysinit.target \
@@ -235,6 +236,7 @@ nodist_systemunit_DATA = \
        units/systemd-tmpfiles-setup.service \
        units/systemd-tmpfiles-clean.service \
        units/systemd-user-sessions.service \
+       units/systemd-ask-password-wall.service \
        units/syslog.target \
        units/halt.service \
        units/poweroff.service \
@@ -276,6 +278,7 @@ EXTRA_DIST = \
        units/systemd-tmpfiles-setup.service.in \
        units/systemd-tmpfiles-clean.service.in \
        units/systemd-user-sessions.service.in \
+       units/systemd-ask-password-wall.service.in \
        units/syslog.target.in \
        units/halt.service.in \
        units/poweroff.service.in \
@@ -911,6 +914,7 @@ pam_systemd_la_LIBADD = \
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(SED)  -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \
+                -e 's,@rootbindir\@,$(rootbindir),g' \
                -e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
                -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
                -e 's,@SYSTEMD_NOTIFY\@,$(rootbindir)/systemd-notify,g' \
@@ -1116,9 +1120,10 @@ install-data-hook:
                $(LN_S) graphical.target default.target && \
                $(LN_S) reboot.target ctrl-alt-del.target )
        ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
-               rm -f getty.target systemd-user-sessions.service && \
+               rm -f getty.target systemd-user-sessions.service systemd-ask-password-wall.path && \
                $(LN_S) ../getty.target getty.target && \
-               $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service )
+               $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service && \
+               $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path )
        ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
                rm -f getty@tty1.service getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service && \
                $(LN_S) $(systemunitdir)/getty@.service getty@tty1.service && \
diff --git a/TODO b/TODO
index 9bb162ef0c35d18bd6cfcd0d417f9bcd8697da7c..86b6c9f16ee2793a0366091ba81d27f86dfaf629 100644 (file)
--- a/TODO
+++ b/TODO
@@ -62,8 +62,6 @@
 
 * spawn ask-password tty agent temporarily in systemctl
 
-* spawn ask-password wall agent on boot via .path unit
-
 * readahead: btrfs/LVM SSD detection
 
 * document locale.conf, vconsole.conf and possibly the tempfiles.d and modules-load.d mechanism.
index 2bd507a763badc17a167ae0bb3a0989b533467e0..42058c501de15680b14b6d405a6dddedd5d2c19b 100644 (file)
@@ -1,3 +1,4 @@
+systemd-ask-password-wall.service
 quotacheck.service
 fsck@.service
 fsck-root.service
diff --git a/units/systemd-ask-password-wall.path b/units/systemd-ask-password-wall.path
new file mode 100644 (file)
index 0000000..a555d26
--- /dev/null
@@ -0,0 +1,13 @@
+#  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=Forward Password Requests to Wall Directory Watch
+After=local-fs.target
+
+[Path]
+DirectoryNotEmpty=/dev/.systemd/ask-password
diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in
new file mode 100644 (file)
index 0000000..e810fe3
--- /dev/null
@@ -0,0 +1,13 @@
+#  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=Forward Password Requests to Wall
+After=getty.target
+
+[Service]
+ExecStart=@rootbindir@/systemd-tty-ask-password-agent --wall