Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please consider: unblock gdm3/3.14.1-6 This fixes an RC bug in the interaction between gdm3, plymouth and either kdm or wdm. The same change fixes a similar 'important' bug involving only plymouth and gdm3, which I noticed while thinking about how to fix the RC bug. S
diffstat for gdm3-3.14.1 gdm3-3.14.1 changelog | 10 ++++++++++ patches/96_plymouth-quit.patch | 38 ++++++++++++++++++++++++++++++++++++++ patches/series | 1 + 3 files changed, 49 insertions(+) diff -Nru gdm3-3.14.1/debian/changelog gdm3-3.14.1/debian/changelog --- gdm3-3.14.1/debian/changelog 2015-03-08 11:53:20.000000000 +0000 +++ gdm3-3.14.1/debian/changelog 2015-03-11 18:27:40.000000000 +0000 @@ -1,3 +1,13 @@ +gdm3 (3.14.1-6) unstable; urgency=medium + + * Team upload. + * Under systemd, if gdm fails to start, or if the selected DM is + kdm or wdm, make sure to run plymouth-quit.service (which gdm normally + suppresses), so that plymouth-quit-wait.service terminates and gettys + are not prevented from running. (Closes: #766462, #780257) + + -- Simon McVittie <s...@debian.org> Wed, 11 Mar 2015 12:25:38 +0000 + gdm3 (3.14.1-5) unstable; urgency=medium * Do not fail to start gdm if /etc/default/locale does not exist diff -Nru gdm3-3.14.1/debian/patches/96_plymouth-quit.patch gdm3-3.14.1/debian/patches/96_plymouth-quit.patch --- gdm3-3.14.1/debian/patches/96_plymouth-quit.patch 1970-01-01 01:00:00.000000000 +0100 +++ gdm3-3.14.1/debian/patches/96_plymouth-quit.patch 2015-03-11 18:27:40.000000000 +0000 @@ -0,0 +1,38 @@ +From: Simon McVittie <s...@debian.org> +Date: Wed, 11 Mar 2015 11:35:40 +0000 +Subject: systemd: call plymouth-quit if gdm fails + +gdm.service Conflicts with plymouth-quit.service, so it does not run +when it normally would (because GDM wants to handle the handover from +plymouth to X11 itself). This means that if gdm fails to start for whatever +reason, plymouth is never stopped, so plymouth-quit-wait.service +never finishes. This, in turn, means that getty@tty*.service, which is +After plymouth-wait-quit.service, never starts, and there is no way to +log in locally and fix the problem (Debian bug #780257, but not +Debian-specific). + +In Debian 8, not all display managers have been migrated to +participate in managing the display-manager.service symlink yet +(in particular, kdm and wdm have not), so gdm has a transitional +ExecStartPre that stops it from running if kdm or wdm is selected +as the active DM. This has the same effect of preventing plymouth +from running (Debian-specific bug #766462). + +It's easy to avoid both of those situations by scheduling +plymouth-quit.service to run if gdm fails. + +Bug-Debian: https://bugs.debian.org/766462 +Bug-Debian: https://bugs.debian.org/780257 + +--- a/data/gdm.service.in ++++ b/data/gdm.service.in +@@ -2,6 +2,9 @@ + Description=GNOME Display Manager + Conflicts=getty@tty@GDM_INITIAL_VT@.service plymouth-quit.service + After=systemd-user-sessions.service getty@tty@GDM_INITIAL_VT@.service plymouth-quit.service ++# GDM takes responsibility for stopping plymouth, so if it fails ++# for any reason, make sure plymouth still stops ++OnFailure=plymouth-quit.service + + [Service] + ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm3" ]' diff -Nru gdm3-3.14.1/debian/patches/series gdm3-3.14.1/debian/patches/series --- gdm3-3.14.1/debian/patches/series 2015-03-05 21:57:33.000000000 +0000 +++ gdm3-3.14.1/debian/patches/series 2015-03-11 18:27:40.000000000 +0000 @@ -10,3 +10,4 @@ 93_disable_gvfs.patch 94_retain_xorg_log.patch 95_systemd-import-language-into-daemon-environment.patch +96_plymouth-quit.patch