Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gdm for openSUSE:Factory checked in 
at 2021-10-20 20:23:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdm (Old)
 and      /work/SRC/openSUSE:Factory/.gdm.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdm"

Wed Oct 20 20:23:03 2021 rev:237 rq:926207 version:41.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdm/gdm.changes  2021-09-29 20:18:57.958979221 
+0200
+++ /work/SRC/openSUSE:Factory/.gdm.new.1890/gdm.changes        2021-10-20 
20:23:33.409351131 +0200
@@ -1,0 +2,12 @@
+Tue Oct 19 09:21:15 UTC 2021 - Martin Wilck <mwi...@suse.com>
+
+- Add gdm-daemon-Infer-session-type-from-desktop-file.patch
+  (bsc#1191809, bsc#1191248)
+
+-------------------------------------------------------------------
+Tue Oct 12 01:41:13 UTC 2021 - Xiaoguang Wang <xiaoguang.w...@suse.com>
+
+- Rebase gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
+  (bsc#1191014).
+
+-------------------------------------------------------------------

New:
----
  gdm-daemon-Infer-session-type-from-desktop-file.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdm.spec ++++++
--- /var/tmp/diff_new_pack.X6RqU5/_old  2021-10-20 20:23:34.309351687 +0200
+++ /var/tmp/diff_new_pack.X6RqU5/_new  2021-10-20 20:23:34.309351687 +0200
@@ -63,6 +63,8 @@
 Patch14:        gdm-switch-user-tty7.patch
 # PATCH-FIX-UPSTREAM gdm-disable-wayland-on-mgag200-chipsets.patch bsc#1162888 
glgo#GNOME/mutter#57 qk...@suse.com -- Disable Wayland on mgag200 chipsets
 Patch15:        gdm-disable-wayland-on-mgag200-chipsets.patch
+# PATCH-FIX-UPSTREAM gdm-daemon-Infer-session-type-from-desktop-file.patch 
bsc#1191809 glgo#GNOME/gdm#159 rstr...@redhat.com -- daemon: Infer session type 
from desktop file if user has no saved session type
+Patch16:        gdm-daemon-Infer-session-type-from-desktop-file.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.
 Patch1000:      gdm-disable-gnome-initial-setup.patch
@@ -220,6 +222,7 @@
 %endif
 %patch14 -p1
 %patch15 -p1
+%patch16 -p1
 
 # SLE and Leap only patches start at 1000
 %if 0%{?sle_version}

++++++ gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch ++++++
--- /var/tmp/diff_new_pack.X6RqU5/_old  2021-10-20 20:23:34.357351717 +0200
+++ /var/tmp/diff_new_pack.X6RqU5/_new  2021-10-20 20:23:34.357351717 +0200
@@ -9,49 +9,55 @@
 
 This allows system to run X server under root if and only-if necessary.
 ---
-Index: gdm-40.1/daemon/gdm-local-display-factory.c
+Index: gdm-41.0/daemon/gdm-local-display-factory.c
 ===================================================================
---- gdm-40.1.orig/daemon/gdm-local-display-factory.c
-+++ gdm-40.1/daemon/gdm-local-display-factory.c
-@@ -236,11 +236,13 @@ gdm_local_display_factory_create_transie
-         g_debug ("GdmLocalDisplayFactory: Creating transient display");
+--- gdm-41.0.orig/daemon/gdm-local-display-factory.c
++++ gdm-41.0/daemon/gdm-local-display-factory.c
+@@ -371,6 +371,7 @@ gdm_local_display_factory_create_transie
+         preferred_display_server = get_preferred_display_server (factory);
  
  #ifdef ENABLE_USER_DISPLAY_SERVER
 +        if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
-         display = gdm_local_display_new ();
-         if (gdm_local_display_factory_use_wayland ())
-                 g_object_set (G_OBJECT (display), "session-type", "wayland", 
NULL);
-         is_initial = TRUE;
--#else
-+//#else
-+        } else {
-         if (display == NULL) {
-                 guint32 num;
- 
-@@ -248,6 +250,7 @@ gdm_local_display_factory_create_transie
- 
-                 display = gdm_legacy_display_new (num);
+         if (g_strcmp0 (preferred_display_server, "wayland") == 0 ||
+             g_strcmp0 (preferred_display_server, "xorg") == 0) {
+                 g_auto(GStrv) session_types = NULL;
+@@ -392,8 +393,9 @@ gdm_local_display_factory_create_transie
+                               NULL);
+                 is_initial = TRUE;
          }
-+      }
++        }
  #endif
+-        if (g_strcmp0 (preferred_display_server, "legacy-xorg") == 0) {
++      //if (g_strcmp0 (preferred_display_server, "legacy-xorg") == 0) {
+                 if (display == NULL) {
+                         guint32 num;
  
-         g_object_set (display,
-@@ -597,12 +600,14 @@ ensure_display_for_seat (GdmLocalDisplay
+@@ -401,7 +403,7 @@ gdm_local_display_factory_create_transie
+ 
+                         display = gdm_legacy_display_new (num);
+                 }
+-        }
++      //}
+ 
+         if (display == NULL) {
+                 g_set_error_literal (error,
+@@ -776,6 +778,7 @@ ensure_display_for_seat (GdmLocalDisplay
          g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", 
seat_id);
  
  #ifdef ENABLE_USER_DISPLAY_SERVER
 +        if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
-         if (is_seat0) {
-                 display = gdm_local_display_new ();
-                 if (session_type != NULL) {
-                         g_object_set (G_OBJECT (display), "session-type", 
session_type, NULL);
+         if (g_strcmp0 (preferred_display_server, "wayland") == 0 ||
+             g_strcmp0 (preferred_display_server, "xorg") == 0) {
+                 if (is_seat0) {
+@@ -786,6 +789,7 @@ ensure_display_for_seat (GdmLocalDisplay
+                                       NULL);
                  }
          }
-+      }
++        }
  #endif
  
          if (display == NULL) {
-@@ -893,6 +898,10 @@ on_vt_changed (GIOChannel    *source,
+@@ -1080,6 +1084,10 @@ on_vt_changed (GIOChannel    *source,
          g_debug ("GdmLocalDisplayFactory: VT changed from %u to %u",
                   previous_vt, factory->active_vt);
  
@@ -62,7 +68,7 @@
          store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY 
(factory));
  
          /* if the old VT was running a wayland login screen kill it
-@@ -1004,6 +1013,7 @@ gdm_local_display_factory_start_monitor
+@@ -1191,6 +1199,7 @@ gdm_local_display_factory_start_monitor
                                                                                
    g_object_unref);
  
  #if defined(ENABLE_USER_DISPLAY_SERVER)
@@ -70,7 +76,7 @@
          io_channel = g_io_channel_new_file ("/sys/class/tty/tty0/active", 
"r", NULL);
  
          if (io_channel != NULL) {
-@@ -1014,6 +1024,7 @@ gdm_local_display_factory_start_monitor
+@@ -1201,6 +1210,7 @@ gdm_local_display_factory_start_monitor
                                          on_vt_changed,
                                          factory);
          }
@@ -78,7 +84,7 @@
  #endif
  }
  
-@@ -1036,6 +1047,7 @@ gdm_local_display_factory_stop_monitor (
+@@ -1223,6 +1233,7 @@ gdm_local_display_factory_stop_monitor (
                  factory->seat_properties_changed_id = 0;
          }
  #if defined(ENABLE_USER_DISPLAY_SERVER)
@@ -86,7 +92,7 @@
          if (factory->active_vt_watch_id) {
                  g_source_remove (factory->active_vt_watch_id);
                  factory->active_vt_watch_id = 0;
-@@ -1044,6 +1056,7 @@ gdm_local_display_factory_stop_monitor (
+@@ -1231,6 +1242,7 @@ gdm_local_display_factory_stop_monitor (
                  g_source_remove (factory->wait_to_finish_timeout_id);
                  factory->wait_to_finish_timeout_id = 0;
          }
@@ -94,35 +100,11 @@
  #endif
  }
  
-Index: gdm-40.1/daemon/gdm-session.c
+Index: gdm-41.0/daemon/gdm-session.c
 ===================================================================
---- gdm-40.1.orig/daemon/gdm-session.c
-+++ gdm-40.1/daemon/gdm-session.c
-@@ -382,19 +382,22 @@ get_system_session_dirs (GdmSession *sel
-         if (!self->ignore_wayland &&
-             (type == NULL || g_str_equal (type, "wayland"))) {
- #ifdef ENABLE_USER_DISPLAY_SERVER
-+        if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
-                 g_array_prepend_val (search_array, wayland_search_dir);
- 
-                 for (i = 0; system_data_dirs[i]; i++) {
-                         gchar *dir = g_build_filename (system_data_dirs[i], 
"wayland-sessions", NULL);
-                         g_array_insert_val (search_array, i, dir);
-                 }
--#else
-+//#else
-+        } else {
-                 for (i = 0; system_data_dirs[i]; i++) {
-                         gchar *dir = g_build_filename (system_data_dirs[i], 
"wayland-sessions", NULL);
-                         g_array_append_val (search_array, dir);
-                 }
- 
-                 g_array_append_val (search_array, wayland_search_dir);
-+        }
- #endif
-         }
- #endif
-@@ -3341,6 +3344,7 @@ gdm_session_get_display_mode (GdmSession
+--- gdm-41.0.orig/daemon/gdm-session.c
++++ gdm-41.0/daemon/gdm-session.c
+@@ -3360,6 +3360,7 @@ gdm_session_get_display_mode (GdmSession
          }
  
  #ifdef ENABLE_USER_DISPLAY_SERVER
@@ -130,7 +112,7 @@
          /* All other cases (wayland login screen, X login screen,
           * wayland user session, X user session) use the NEW_VT
           * display mode.  That display mode means that GDM allocates
-@@ -3363,7 +3367,8 @@ gdm_session_get_display_mode (GdmSession
+@@ -3382,7 +3383,8 @@ gdm_session_get_display_mode (GdmSession
           *   are paused when handed out.
           */
          return GDM_SESSION_DISPLAY_MODE_NEW_VT;
@@ -140,7 +122,7 @@
  
  #ifdef ENABLE_WAYLAND_SUPPORT
          /* Wayland sessions are for now assumed to run in a
-@@ -3374,6 +3379,7 @@ gdm_session_get_display_mode (GdmSession
+@@ -3393,6 +3395,7 @@ gdm_session_get_display_mode (GdmSession
          }
  #endif
          return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
@@ -148,11 +130,11 @@
  #endif
  }
  
-Index: gdm-40.1/daemon/gdm-session-worker.c
+Index: gdm-41.0/daemon/gdm-session-worker.c
 ===================================================================
---- gdm-40.1.orig/daemon/gdm-session-worker.c
-+++ gdm-40.1/daemon/gdm-session-worker.c
-@@ -1755,8 +1755,10 @@ jump_back_to_initial_vt (GdmSessionWorke
+--- gdm-41.0.orig/daemon/gdm-session-worker.c
++++ gdm-41.0/daemon/gdm-session-worker.c
+@@ -1753,8 +1753,10 @@ jump_back_to_initial_vt (GdmSessionWorke
                  return;
  
  #ifdef ENABLE_USER_DISPLAY_SERVER
@@ -163,12 +145,12 @@
  #endif
  }
  
-Index: gdm-40.1/daemon/gdm-manager.c
+Index: gdm-41.0/daemon/gdm-manager.c
 ===================================================================
---- gdm-40.1.orig/daemon/gdm-manager.c
-+++ gdm-40.1/daemon/gdm-manager.c
-@@ -1349,6 +1349,8 @@ set_up_automatic_login_session (GdmManag
-                       "display-is-initial", FALSE,
+--- gdm-41.0.orig/daemon/gdm-manager.c
++++ gdm-41.0/daemon/gdm-manager.c
+@@ -1350,6 +1350,8 @@ set_up_automatic_login_session (GdmManag
+                       "supported-session-types", supported_session_types,
                        NULL);
  
 +        if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") != NULL)
@@ -176,10 +158,10 @@
          g_debug ("GdmManager: Starting automatic login conversation");
          gdm_session_start_conversation (session, "gdm-autologin");
  }
-Index: gdm-40.1/daemon/gdm-server.c
+Index: gdm-41.0/daemon/gdm-server.c
 ===================================================================
---- gdm-40.1.orig/daemon/gdm-server.c
-+++ gdm-40.1/daemon/gdm-server.c
+--- gdm-41.0.orig/daemon/gdm-server.c
++++ gdm-41.0/daemon/gdm-server.c
 @@ -752,7 +752,7 @@ gdm_server_start (GdmServer *server)
          GError **error = &local_error;
  

++++++ gdm-daemon-Infer-session-type-from-desktop-file.patch ++++++
>From ae75f642859dcfdcfcaaffc617ebe7a68cf0bed7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstr...@redhat.com>
Date: Wed, 29 Sep 2021 11:03:41 -0400
Subject: [PATCH] daemon: Infer session type from desktop file if user has no
 saved session type

The accountsservice user cache file can specify a session type
associated with the saved session.  This is optional though. If one
isn't specified GDM needs to figure out the session type based on the
list of preferred session types for the system and the session file
itself.

It was failing to do the latter, though.  This commit fixes that.
---
 daemon/gdm-session.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index c1e2be008..4b709731d 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -1036,6 +1036,8 @@ worker_on_saved_session_name_read (GdmDBusWorker          
*worker,
                 }
                 if (self->saved_session_type != NULL)
                         set_session_type (self, self->saved_session_type);
+                else
+                        update_session_type (self);
         }
 
 }
-- 
GitLab

Reply via email to