summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am16
-rw-r--r--units/.gitignore1
-rw-r--r--units/fedora/plymouth-start.service1
-rw-r--r--units/systemd-ask-password-console.path15
-rw-r--r--units/systemd-ask-password-console.service.in15
-rw-r--r--units/systemd-ask-password-plymouth.path2
-rw-r--r--units/systemd-ask-password-plymouth.service.in2
-rw-r--r--units/systemd-ask-password-wall.service.in4
8 files changed, 47 insertions, 9 deletions
diff --git a/Makefile.am b/Makefile.am
index bc7ea9daed..a45f333ac6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -232,7 +232,8 @@ dist_systemunit_DATA = \
units/systemd-tmpfiles-clean.timer \
units/quotaon.service \
units/systemd-ask-password-wall.path \
- units/systemd-ask-password-plymouth.path
+ units/systemd-ask-password-plymouth.path \
+ units/systemd-ask-password-console.path
nodist_systemunit_DATA = \
units/getty@.service \
@@ -259,6 +260,7 @@ nodist_systemunit_DATA = \
units/systemd-user-sessions.service \
units/systemd-ask-password-wall.service \
units/systemd-ask-password-plymouth.service \
+ units/systemd-ask-password-console.service \
units/syslog.target \
units/halt.service \
units/poweroff.service \
@@ -303,6 +305,7 @@ EXTRA_DIST = \
units/systemd-user-sessions.service.in \
units/systemd-ask-password-wall.service.in \
units/systemd-ask-password-plymouth.service.in \
+ units/systemd-ask-password-console.service.in \
units/syslog.target.in \
units/halt.service.in \
units/poweroff.service.in \
@@ -1224,7 +1227,8 @@ install-data-hook:
systemd-modules-load.service \
systemd-random-seed-load.service \
systemd-tmpfiles-setup.service \
- sysctl.service && \
+ sysctl.service \
+ systemd-ask-password-console.path && \
$(LN_S) ../dev-hugepages.automount dev-hugepages.automount && \
$(LN_S) ../dev-mqueue.automount dev-mqueue.automount && \
$(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount && \
@@ -1234,7 +1238,8 @@ install-data-hook:
$(LN_S) ../systemd-modules-load.service systemd-modules-load.service && \
$(LN_S) ../systemd-random-seed-load.service systemd-random-seed-load.service && \
$(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
- $(LN_S) ../sysctl.service sysctl.service )
+ $(LN_S) ../sysctl.service sysctl.service && \
+ $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path )
( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
rm -f systemd-tmpfiles-clean.timer && \
$(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
@@ -1256,10 +1261,9 @@ if TARGET_FEDORA
rm -f halt-local.service && \
$(LN_S) $(systemunitdir)/halt-local.service halt-local.service )
( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
- rm -f plymouth-start.service systemd-ask-password-plymouth.path plymouth-read-write.service && \
+ rm -f plymouth-start.service plymouth-read-write.service && \
$(LN_S) ../plymouth-start.service plymouth-start.service && \
- $(LN_S) ../plymouth-read-write.service plymouth-read-write.service && \
- $(LN_S) ../systemd-ask-password-plymouth.path systemd-ask-password-plymouth.path )
+ $(LN_S) ../plymouth-read-write.service plymouth-read-write.service )
( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
rm -f plymouth-quit.service && \
$(LN_S) ../plymouth-quit.service plymouth-quit.service )
diff --git a/units/.gitignore b/units/.gitignore
index e90f6b3d1d..419838b677 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -1,3 +1,4 @@
+systemd-ask-password-console.service
rescue.service
systemd-ask-password-plymouth.service
systemd-ask-password-wall.service
diff --git a/units/fedora/plymouth-start.service b/units/fedora/plymouth-start.service
index 8c0ba8b9e7..61cb82cde4 100644
--- a/units/fedora/plymouth-start.service
+++ b/units/fedora/plymouth-start.service
@@ -8,6 +8,7 @@
[Unit]
Description=Show Plymouth Boot Screen
DefaultDependencies=no
+Wants=systemd-ask-password-plymouth.path
After=systemd-vconsole-setup.service udev-settle.service
Before=systemd-ask-password-plymouth.service
diff --git a/units/systemd-ask-password-console.path b/units/systemd-ask-password-console.path
new file mode 100644
index 0000000000..9d3d80d5a9
--- /dev/null
+++ b/units/systemd-ask-password-console.path
@@ -0,0 +1,15 @@
+# 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=Dispatch Password Requests to Console Directory Watch
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=basic.target shutdown.target
+
+[Path]
+DirectoryNotEmpty=/dev/.systemd/ask-password
diff --git a/units/systemd-ask-password-console.service.in b/units/systemd-ask-password-console.service.in
new file mode 100644
index 0000000000..a2ac09cd6a
--- /dev/null
+++ b/units/systemd-ask-password-console.service.in
@@ -0,0 +1,15 @@
+# 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=Dispatch Password Requests to Console
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=shutdown.target
+
+[Service]
+ExecStart=@rootbindir@/systemd-tty-ask-password-agent --watch --console
diff --git a/units/systemd-ask-password-plymouth.path b/units/systemd-ask-password-plymouth.path
index 8e5e51290d..1d09223f7a 100644
--- a/units/systemd-ask-password-plymouth.path
+++ b/units/systemd-ask-password-plymouth.path
@@ -8,7 +8,7 @@
[Unit]
Description=Forward Password Requests to Plymouth Directory Watch
DefaultDependencies=no
-Conflicts=shutdown.target
+Conflicts=shutdown.target systemd-ask-password-console.path systemd-ask-password-console.service
Before=basic.target shutdown.target
[Path]
diff --git a/units/systemd-ask-password-plymouth.service.in b/units/systemd-ask-password-plymouth.service.in
index 8ed22ac651..a7cd451aed 100644
--- a/units/systemd-ask-password-plymouth.service.in
+++ b/units/systemd-ask-password-plymouth.service.in
@@ -8,7 +8,7 @@
[Unit]
Description=Forward Password Requests to Plymouth
DefaultDependencies=no
-Conflicts=shutdown.target
+Conflicts=shutdown.target systemd-ask-password-console.path systemd-ask-password-console.service
Before=shutdown.target
[Service]
diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in
index e810fe3097..71ec1d68f8 100644
--- a/units/systemd-ask-password-wall.service.in
+++ b/units/systemd-ask-password-wall.service.in
@@ -7,7 +7,9 @@
[Unit]
Description=Forward Password Requests to Wall
-After=getty.target
+After=systemd-user-sessions.service
[Service]
+ExecStartPre=-@rootbindir@/systemctl stop systemd-ask-password-console.path systemd-ask-password-console.service
+ExecStartPre=-@rootbindir@/systemctl stop systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
ExecStart=@rootbindir@/systemd-tty-ask-password-agent --wall