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


Reply via email to