Hello community, here is the log from the commit of package gdm for openSUSE:Factory checked in at 2018-04-26 13:23:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdm (Old) and /work/SRC/openSUSE:Factory/.gdm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdm" Thu Apr 26 13:23:07 2018 rev:209 rq:600464 version:3.28.1 Changes: -------- --- /work/SRC/openSUSE:Factory/gdm/gdm.changes 2018-04-22 14:37:00.790670208 +0200 +++ /work/SRC/openSUSE:Factory/.gdm.new/gdm.changes 2018-04-26 13:23:09.056784683 +0200 @@ -1,0 +2,7 @@ +Mon Apr 23 07:59:36 UTC 2018 - fezh...@suse.com + +- Add gdm-quit-plymouth-on-headless.patch: Stop boot splash + whenever a display is managed, to avoid systems without monitor + from hanging (boo#1089673 bgo#795477). + +------------------------------------------------------------------- New: ---- gdm-quit-plymouth-on-headless.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdm.spec ++++++ --- /var/tmp/diff_new_pack.wTVAkj/_old 2018-04-26 13:23:09.760758912 +0200 +++ /var/tmp/diff_new_pack.wTVAkj/_new 2018-04-26 13:23:09.764758766 +0200 @@ -19,7 +19,6 @@ %define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd) # FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999 %define enable_split_authentication 0 - Name: gdm Version: 3.28.1 Release: 0 @@ -39,7 +38,7 @@ Source7: X11-displaymanager-gdm # GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script Source8: autogen.sh -# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch bgo#794106 bsc#1083609 boo#1088539 yfji...@suse.com -- Disable Wayland on unsupported chipsets +# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch bgo#789081 bgo#794106 boo#1059356 boo#1083609 boo#1088539 fezh...@suse.com -- Disable Wayland on unsupported chipsets Patch1: gdm-disable-wayland-on-unsupported-chipsets.patch # WARNING: do not remove/significantly change patch3 without updating the relevant patch in accountsservice too # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 h...@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch) @@ -58,6 +57,8 @@ Patch42: gdm-fails-to-restart-gnome-shell.patch # PATCH-FIX-UPSTREAM gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 m...@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present. Patch43: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch +# PATCH-FIX-UPSTREAM gdm-quit-plymouth-on-headless.patch boo#1089673 bgo#795477 fezh...@suse.com -- Quit plymouth whenever a display is managed, to avoid system without monitor hanging. +Patch44: gdm-quit-plymouth-on-headless.patch ### NOTE: Keep please SLE-only patches at bottom (starting on 1000). # PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qz...@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login. Patch1002: gdm-disable-gnome-initial-setup.patch @@ -201,6 +202,7 @@ %patch41 -p1 %patch42 -p1 %patch43 -p1 +%patch44 -p1 # SLE-only patches start at 1000 %if !0%{?is_opensuse} %patch1002 -p1 ++++++ gdm-quit-plymouth-on-headless.patch ++++++ >From 0f97c73ef56df6d7cc5d582d9f984ba1e697c734 Mon Sep 17 00:00:00 2001 From: Felix Zhang <fezh...@suse.com> Date: Mon, 23 Apr 2018 15:01:45 +0800 Subject: [PATCH] manager: always quit plymouth on a managed display, in a lapsed time When booting up gdm without monitor, the display is marked as managed but never gets a connected session client afterwards, causing all the depending systemd targets to hang waiting plymouth to quit. This commit kind of reverts commit 2cbd7ad, to always quit plymouth when a display is managed, but adding a timeout to get around the issue fixed by commit 2cbd7ad1. https://bugzilla.gnome.org/show_bug.cgi?id=795477 --- daemon/gdm-manager.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index 7539acf1..24b90301 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -1673,6 +1673,12 @@ on_display_status_changed (GdmDisplay *display, } if (status == GDM_DISPLAY_MANAGED) { +#ifdef WITH_PLYMOUTH + if (quit_plymouth) { + g_timeout_add_seconds (20, (GSourceFunc) plymouth_quit_with_transition, NULL); + manager->priv->plymouth_is_running = FALSE; + } +#endif greeter_display_started (manager, display); } break; @@ -1954,15 +1960,6 @@ on_user_session_started (GdmSession *session, { g_debug ("GdmManager: session started %d", pid); add_session_record (manager, session, pid, SESSION_RECORD_LOGIN); - -#ifdef WITH_PLYMOUTH - if (g_strcmp0 (service_name, "gdm-autologin") == 0) { - if (manager->priv->plymouth_is_running) { - g_timeout_add_seconds (20, (GSourceFunc) plymouth_quit_with_transition, NULL); - manager->priv->plymouth_is_running = FALSE; - } - } -#endif } static void @@ -2116,13 +2113,6 @@ on_session_client_connected (GdmSession *session, return; } -#ifdef WITH_PLYMOUTH - if (manager->priv->plymouth_is_running) { - plymouth_quit_with_transition (); - manager->priv->plymouth_is_running = FALSE; - } -#endif - g_object_get (G_OBJECT (display), "allow-timed-login", &allow_timed_login, NULL); if (!allow_timed_login) { -- 2.13.6