From aa2e2115873e102b8f6701f4211ddf7bec4c5e10 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 24 Feb 2011 02:32:50 +0100 Subject: [PATCH] units: synchronize gettys to plymouth even if plymouth is killed by gdm --- Makefile.am | 18 ++++++++++++------ TODO | 2 ++ units/getty@.service.m4 | 2 +- units/plymouth-quit-wait.service | 15 +++++++++++++++ units/serial-getty@.service.m4 | 5 ++++- 5 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 units/plymouth-quit-wait.service diff --git a/Makefile.am b/Makefile.am index 7e5d6d87..1841ad5c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -243,7 +243,6 @@ 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-console.path nodist_systemunit_DATA = \ @@ -270,7 +269,6 @@ nodist_systemunit_DATA = \ units/systemd-tmpfiles-clean.service \ units/systemd-user-sessions.service \ units/systemd-ask-password-wall.service \ - units/systemd-ask-password-plymouth.service \ units/systemd-ask-password-console.service \ units/systemd-sysctl.service \ units/syslog.target \ @@ -316,7 +314,6 @@ EXTRA_DIST = \ units/systemd-tmpfiles-clean.service.in \ 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/systemd-sysctl.service.in \ units/syslog.target.in \ @@ -343,10 +340,18 @@ dist_systemunit_DATA += \ units/plymouth-start.service \ units/plymouth-read-write.service \ units/plymouth-quit.service \ + units/plymouth-quit-wait.service \ units/plymouth-reboot.service \ units/plymouth-kexec.service \ units/plymouth-poweroff.service \ - units/plymouth-halt.service + units/plymouth-halt.service \ + units/systemd-ask-password-plymouth.path + +nodist_systemunit_DATA += \ + units/systemd-ask-password-plymouth.service + +EXTRA_DIST += \ + units/systemd-ask-password-plymouth.service.in endif dist_doc_DATA = \ @@ -1302,8 +1307,9 @@ if HAVE_PLYMOUTH $(LN_S) ../plymouth-start.service plymouth-start.service && \ $(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 ) + rm -f plymouth-quit.service plymouth-quit-wait.service && \ + $(LN_S) ../plymouth-quit.service plymouth-quit.service && \ + $(LN_S) ../plymouth-quit-wait.service plymouth-quit-wait.service ) ( cd $(DESTDIR)$(systemunitdir)/reboot.target.wants && \ rm -f plymouth-reboot.service && \ $(LN_S) ../plymouth-reboot.service plymouth-reboot.service ) diff --git a/TODO b/TODO index ba9650a5..c7ba9fe7 100644 --- a/TODO +++ b/TODO @@ -17,6 +17,8 @@ F15: * NFS, networkmanager ordering issue +* Make systemd-cryptsetup cancellable + Features: * introduce simple way to do mandatory conditions diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 index 23ea9794..a016ba2c 100644 --- a/units/getty@.service.m4 +++ b/units/getty@.service.m4 @@ -8,7 +8,7 @@ [Unit] Description=Getty on %I BindTo=dev-%i.device -After=dev-%i.device systemd-user-sessions.service plymouth-quit.service +After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`TARGET_FEDORA', After=rc-local.service )m4_dnl diff --git a/units/plymouth-quit-wait.service b/units/plymouth-quit-wait.service new file mode 100644 index 00000000..45c67bda --- /dev/null +++ b/units/plymouth-quit-wait.service @@ -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=Wait for Plymouth Boot Screen to Quit +After=rc-local.service plymouth-start.service + +[Service] +ExecStart=-/bin/plymouth --wait +Type=oneshot +TimeoutSec=20 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 index 4b031d7f..82414ea6 100644 --- a/units/serial-getty@.service.m4 +++ b/units/serial-getty@.service.m4 @@ -8,13 +8,16 @@ [Unit] Description=Serial Getty on %I BindTo=dev-%i.device -After=dev-%i.device systemd-user-sessions.service plymouth-quit.service +After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`TARGET_FEDORA', After=rc-local.service )m4_dnl m4_ifdef(`TARGET_ARCH', After=rc-local.service )m4_dnl +m4_ifdef(`TARGET_FRUGALWARE', +After=local.service +)m4_dnl # If additional gettys are spawned during boot then we should make # sure that this is synchronized before getty.target, even though -- 2.39.5