From 2375425525f5617e64b89b442d2997265ec70700 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Feb 27 2019 19:19:05 +0000 Subject: Update to 3.31.91 --- diff --git a/.gitignore b/.gitignore index 0de52d3..191ec51 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,4 @@ gdm-2.30.2.tar.bz2 /gdm-3.30.1.tar.xz /gdm-3.30.2.tar.xz /gdm-3.30.3.tar.xz +/gdm-3.31.91.tar.xz diff --git a/0001-local-display-factory-defer-initialization-for-CanGr.patch b/0001-local-display-factory-defer-initialization-for-CanGr.patch index eae9243..0551f90 100644 --- a/0001-local-display-factory-defer-initialization-for-CanGr.patch +++ b/0001-local-display-factory-defer-initialization-for-CanGr.patch @@ -1,7 +1,7 @@ -From 757e620a8dd26902215a332af71cfcdf08574803 Mon Sep 17 00:00:00 2001 +From 3c6de5c4673fd678e5aec8c8377c12e563287a84 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 4 Oct 2018 10:40:41 -0400 -Subject: [PATCH] local-display-factory: defer initialization for +Subject: [PATCH 1/2] local-display-factory: defer initialization for CanGraphical=no seats During startup a seat may not be ready for a display server yet. @@ -11,11 +11,11 @@ CanGraphical capable, before trying to put a login screen on it. Closes https://gitlab.gnome.org/bugzilla-migration/gdm/issues/103 --- - daemon/gdm-local-display-factory.c | 132 +++++++++++++++++++++++++++-- - 1 file changed, 126 insertions(+), 6 deletions(-) + daemon/gdm-local-display-factory.c | 131 +++++++++++++++++++++++++++-- + 1 file changed, 125 insertions(+), 6 deletions(-) diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c -index 891c25375..5430085ea 100644 +index 98daca484..a6849f995 100644 --- a/daemon/gdm-local-display-factory.c +++ b/daemon/gdm-local-display-factory.c @@ -29,92 +29,98 @@ @@ -35,8 +35,6 @@ index 891c25375..5430085ea 100644 #include "gdm-local-display.h" #include "gdm-legacy-display.h" - #define GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_LOCAL_DISPLAY_FACTORY, GdmLocalDisplayFactoryPrivate)) - #define GDM_DBUS_PATH "/org/gnome/DisplayManager" #define GDM_LOCAL_DISPLAY_FACTORY_DBUS_PATH GDM_DBUS_PATH "/LocalDisplayFactory" #define GDM_MANAGER_DBUS_NAME "org.gnome.DisplayManager.LocalDisplayFactory" @@ -44,8 +42,10 @@ index 891c25375..5430085ea 100644 #define MAX_DISPLAY_FAILURES 5 #define WAIT_TO_FINISH_TIMEOUT 10 /* seconds */ - struct GdmLocalDisplayFactoryPrivate + struct _GdmLocalDisplayFactory { + GdmDisplayFactory parent; + GdmDBusLocalDisplayFactory *skeleton; GDBusConnection *connection; GHashTable *used_display_numbers; @@ -117,7 +117,7 @@ index 891c25375..5430085ea 100644 sort_nums (gpointer a, gpointer b) { -@@ -409,60 +415,61 @@ lookup_by_seat_id (const char *id, +@@ -407,60 +413,61 @@ lookup_by_seat_id (const char *id, return res; } @@ -175,11 +175,11 @@ index 891c25375..5430085ea 100644 g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_MANAGED, NULL); g_debug ("GdmLocalDisplayFactory: session %s found, activating.", login_session_id); - gdm_activate_session_by_id (factory->priv->connection, seat_id, login_session_id); + gdm_activate_session_by_id (factory->connection, seat_id, login_session_id); return NULL; } } -@@ -493,131 +500,236 @@ create_display (GdmLocalDisplayFactory *factory, +@@ -491,131 +498,236 @@ create_display (GdmLocalDisplayFactory *factory, /* let store own the ref */ g_object_unref (display); @@ -214,7 +214,7 @@ index 891c25375..5430085ea 100644 + const char *seat, *path; g_debug ("GdmLocalDisplayFactory: enumerating seats from logind"); - result = g_dbus_connection_call_sync (factory->priv->connection, + result = g_dbus_connection_call_sync (factory->connection, "org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", @@ -317,7 +317,7 @@ index 891c25375..5430085ea 100644 + g_debug ("GdmLocalDisplayFactory: creating seat proxy for seat '%s' with path '%s'", + seat, path); + -+ proxy = g_dbus_proxy_new_sync (self->priv->connection, ++ proxy = g_dbus_proxy_new_sync (self->connection, + G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.login1", @@ -332,8 +332,8 @@ index 891c25375..5430085ea 100644 + return FALSE; + } + -+ g_hash_table_insert (self->priv->seat_proxies, g_strdup (seat), g_object_ref (proxy)); -+ g_object_set_data_full (G_OBJECT (proxy), "seat-id", g_strdup (seat), (GDestroyNotify) g_free); ++ g_hash_table_insert (self->seat_proxies, g_strdup (seat), g_object_ref (proxy)); ++ g_object_set_data_full (G_OBJECT (proxy), "seat-id", g_strdup (seat), (GDestroyNotify) g_free); + g_signal_connect_object (G_OBJECT (proxy), + "g-properties-changed", + G_CALLBACK (on_seat_proxy_properties_changed), @@ -390,7 +390,7 @@ index 891c25375..5430085ea 100644 + + g_debug ("GdmLocalDisplayFactory: seat '%s' no longer available", seat); + -+ g_hash_table_remove (factory->priv->seat_proxies, (gpointer) seat); ++ g_hash_table_remove (factory->seat_proxies, (gpointer) seat); + delete_display (factory, seat); } @@ -411,7 +411,7 @@ index 891c25375..5430085ea 100644 wait_to_finish_timeout (GdmLocalDisplayFactory *factory) { finish_waiting_displays_on_seat (factory, "seat0"); - factory->priv->wait_to_finish_timeout_id = 0; + factory->wait_to_finish_timeout_id = 0; return G_SOURCE_REMOVE; } @@ -422,7 +422,7 @@ index 891c25375..5430085ea 100644 g_autofree char *display_session_type = NULL; gboolean doing_initial_setup = FALSE; -@@ -737,60 +849,65 @@ on_vt_changed (GIOChannel *source, +@@ -735,60 +847,65 @@ on_vt_changed (GIOChannel *source, g_debug ("GdmLocalDisplayFactory: tty of login window is %s", tty_of_login_window_vt); if (g_strcmp0 (tty_of_login_window_vt, tty_of_previous_vt) == 0) { @@ -448,7 +448,7 @@ index 891c25375..5430085ea 100644 * on it (unless a login screen is already running elsewhere, then * jump to that login screen) */ - if (strcmp (factory->priv->tty_of_active_vt, tty_of_initial_vt) != 0) { + if (strcmp (factory->tty_of_active_vt, tty_of_initial_vt) != 0) { g_debug ("GdmLocalDisplayFactory: active VT is not initial VT, so ignoring"); return G_SOURCE_CONTINUE; } @@ -474,7 +474,7 @@ index 891c25375..5430085ea 100644 { g_autoptr (GIOChannel) io_channel = NULL; - factory->priv->seat_new_id = g_dbus_connection_signal_subscribe (factory->priv->connection, + factory->seat_new_id = g_dbus_connection_signal_subscribe (factory->connection, "org.freedesktop.login1", "org.freedesktop.login1.Manager", "SeatNew", @@ -484,11 +484,15 @@ index 891c25375..5430085ea 100644 on_seat_new, g_object_ref (factory), g_object_unref); - factory->priv->seat_removed_id = g_dbus_connection_signal_subscribe (factory->priv->connection, + factory->seat_removed_id = g_dbus_connection_signal_subscribe (factory->connection, "org.freedesktop.login1", "org.freedesktop.login1.Manager", "SeatRemoved", -@@ -1014,69 +1131,72 @@ gdm_local_display_factory_constructor (GType type, +@@ -1008,69 +1125,71 @@ gdm_local_display_factory_constructor (GType type, + n_construct_properties, + construct_properties)); + + res = register_factory (factory); if (! res) { g_warning ("Unable to register local display factory with system bus"); } @@ -509,17 +513,13 @@ index 891c25375..5430085ea 100644 factory_class->start = gdm_local_display_factory_start; factory_class->stop = gdm_local_display_factory_stop; - - g_type_class_add_private (klass, sizeof (GdmLocalDisplayFactoryPrivate)); } static void gdm_local_display_factory_init (GdmLocalDisplayFactory *factory) { - factory->priv = GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE (factory); - - factory->priv->used_display_numbers = g_hash_table_new (NULL, NULL); -+ factory->priv->seat_proxies = g_hash_table_new_full (NULL, NULL, g_free, g_object_unref); + factory->used_display_numbers = g_hash_table_new (NULL, NULL); ++ factory->seat_proxies = g_hash_table_new_full (NULL, NULL, g_free, g_object_unref); } static void @@ -532,14 +532,13 @@ index 891c25375..5430085ea 100644 factory = GDM_LOCAL_DISPLAY_FACTORY (object); - g_return_if_fail (factory->priv != NULL); + g_return_if_fail (factory != NULL); -+ g_hash_table_destroy (factory->priv->seat_proxies); -+ - g_clear_object (&factory->priv->connection); - g_clear_object (&factory->priv->skeleton); ++ g_hash_table_destroy (factory->seat_proxies); + g_clear_object (&factory->connection); + g_clear_object (&factory->skeleton); - g_hash_table_destroy (factory->priv->used_display_numbers); + g_hash_table_destroy (factory->used_display_numbers); gdm_local_display_factory_stop_monitor (factory); diff --git a/gdm.spec b/gdm.spec index 3493b2e..e063af1 100644 --- a/gdm.spec +++ b/gdm.spec @@ -9,7 +9,7 @@ Name: gdm Epoch: 1 -Version: 3.30.3 +Version: 3.31.91 Release: 1%{?dist} Summary: The GNOME Display Manager @@ -313,6 +313,9 @@ fi %{_libdir}/pkgconfig/gdm-pam-extensions.pc %changelog +* Wed Feb 27 2019 Ray Strode - 3.31.91-1 +- Update to 3.31.91 + * Tue Feb 26 2019 Kalev Lember - 1:3.30.3-1 - Update to 3.30.3 diff --git a/sources b/sources index 4e6e553..251dd0e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gdm-3.30.3.tar.xz) = 17aed5bf7d27b07553703873cda28a711d6135497d36e4c241bcf1ab3552b31007cc241dab394dccf8a4f1daccf7d55ba39edf91f4b22bdea5c2aa1ea17404b8 +SHA512 (gdm-3.31.91.tar.xz) = 23cd784c995776be38c10193b7c5c506a29c820313774493c7a480a71b0dff981656ff86d70054de7d156106a73739f62a0bf9b1337d05305bceddb50deb5537