Accepting request 1236825 from GNOME:Factory
OBS-URL: https://build.opensuse.org/request/show/1236825 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-settings-daemon?expand=0&rev=198
This commit is contained in:
commit
17911eed3f
122
gnome-settings-daemon-fix-stop-service.patch
Normal file
122
gnome-settings-daemon-fix-stop-service.patch
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
From afc8df459f6603799a50f221e77dfdf4df1d6d56 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joan Torres <joan.torres@suse.com>
|
||||||
|
Date: Wed, 11 Dec 2024 15:29:17 +0100
|
||||||
|
Subject: [PATCH 1/2] sharing: Stop assigned services properly on manager stop
|
||||||
|
|
||||||
|
Assigned services are started when sharing status is not offline.
|
||||||
|
But they were being stopped only when sharing status is available.
|
||||||
|
To fix this, stop assigned services when sharing status is not offline.
|
||||||
|
|
||||||
|
This doesn't affect configurable services which weren't already started.
|
||||||
|
---
|
||||||
|
plugins/sharing/gsd-sharing-manager.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/sharing/gsd-sharing-manager.c b/plugins/sharing/gsd-sharing-manager.c
|
||||||
|
index 8b818c4e..c20b42e6 100644
|
||||||
|
--- a/plugins/sharing/gsd-sharing-manager.c
|
||||||
|
+++ b/plugins/sharing/gsd-sharing-manager.c
|
||||||
|
@@ -951,7 +951,7 @@ gsd_sharing_manager_stop (GsdSharingManager *manager)
|
||||||
|
|
||||||
|
cancel_pending_wait_tasks (manager);
|
||||||
|
|
||||||
|
- if (manager->sharing_status == GSD_SHARING_STATUS_AVAILABLE &&
|
||||||
|
+ if (manager->sharing_status != GSD_SHARING_STATUS_OFFLINE &&
|
||||||
|
manager->connection != NULL) {
|
||||||
|
manager->sharing_status = GSD_SHARING_STATUS_OFFLINE;
|
||||||
|
gsd_sharing_manager_sync_services (manager);
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
||||||
|
|
||||||
|
From 9d92d287218733c5754c853c0a298874eb704754 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joan Torres <joan.torres@suse.com>
|
||||||
|
Date: Wed, 11 Dec 2024 13:22:56 +0100
|
||||||
|
Subject: [PATCH 2/2] common: Stop manager before stopping main loop
|
||||||
|
|
||||||
|
When the sharing manager is stopped, some async calls are done to stop
|
||||||
|
some services. If the main loop is stopped before, those calls are not
|
||||||
|
handled properly and the services are left orphaned.
|
||||||
|
|
||||||
|
Stop the manager first and wait a few seconds before stopping the
|
||||||
|
main loop to allow the async calls to finish successfully.
|
||||||
|
|
||||||
|
This fixes an issue where the gnome-remote-desktop-handover.service was
|
||||||
|
not stopped on logout. Making the session on a new login, use the same old
|
||||||
|
handover daemon which is still listening to the old handover iface with
|
||||||
|
the old session id.
|
||||||
|
---
|
||||||
|
plugins/common/daemon-skeleton.h | 26 +++++++++++++++++++-------
|
||||||
|
1 file changed, 19 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/common/daemon-skeleton.h b/plugins/common/daemon-skeleton.h
|
||||||
|
index 40b7f149..8fb12422 100644
|
||||||
|
--- a/plugins/common/daemon-skeleton.h
|
||||||
|
+++ b/plugins/common/daemon-skeleton.h
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
|
||||||
|
#define GNOME_SESSION_DBUS_NAME "org.gnome.SessionManager"
|
||||||
|
#define GNOME_SESSION_CLIENT_PRIVATE_DBUS_INTERFACE "org.gnome.SessionManager.ClientPrivate"
|
||||||
|
+#define WAIT_BEFORE_STOPPING_LOOP 3
|
||||||
|
|
||||||
|
static MANAGER *manager = NULL;
|
||||||
|
static int timeout = -1;
|
||||||
|
@@ -53,10 +54,24 @@ respond_to_end_session (GDBusProxy *proxy)
|
||||||
|
-1, NULL, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static gboolean
|
||||||
|
+stop_loop (gpointer user_data)
|
||||||
|
+{
|
||||||
|
+ GMainLoop *loop = user_data;
|
||||||
|
+
|
||||||
|
+ if (g_main_loop_is_running (loop))
|
||||||
|
+ g_main_loop_quit (loop);
|
||||||
|
+
|
||||||
|
+ return G_SOURCE_REMOVE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
do_stop (GMainLoop *loop)
|
||||||
|
{
|
||||||
|
- g_main_loop_quit (loop);
|
||||||
|
+ if (manager)
|
||||||
|
+ STOP (manager);
|
||||||
|
+
|
||||||
|
+ g_timeout_add_seconds (WAIT_BEFORE_STOPPING_LOOP, stop_loop, loop);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -149,8 +164,7 @@ handle_sigterm (gpointer user_data)
|
||||||
|
|
||||||
|
g_debug ("Got SIGTERM; shutting down ...");
|
||||||
|
|
||||||
|
- if (g_main_loop_is_running (main_loop))
|
||||||
|
- g_main_loop_quit (main_loop);
|
||||||
|
+ do_stop (main_loop);
|
||||||
|
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
|
}
|
||||||
|
@@ -229,8 +243,8 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
|
if (timeout > 0) {
|
||||||
|
guint id;
|
||||||
|
- id = g_timeout_add_seconds (timeout, (GSourceFunc) g_main_loop_quit, loop);
|
||||||
|
- g_source_set_name_by_id (id, "[gnome-settings-daemon] g_main_loop_quit");
|
||||||
|
+ id = g_timeout_add_seconds (timeout, (GSourceFunc) do_stop, loop);
|
||||||
|
+ g_source_set_name_by_id (id, "[gnome-settings-daemon] do_stop");
|
||||||
|
}
|
||||||
|
|
||||||
|
install_signal_handler (loop);
|
||||||
|
@@ -255,8 +269,6 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
|
g_main_loop_run (loop);
|
||||||
|
|
||||||
|
- STOP (manager);
|
||||||
|
-
|
||||||
|
g_object_unref (manager);
|
||||||
|
g_bus_unown_name (name_own_id);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 10 09:57:27 UTC 2024 - Joan Torres <joan.torres@suse.com>
|
||||||
|
|
||||||
|
- Add gnome-settings-daemon-fix-stop-service.patch
|
||||||
|
* Part of the fix of bsc#1233824
|
||||||
|
* Reference: glgo#GNOME/gnome-settings-daemon!395
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Nov 22 10:36:52 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
Fri Nov 22 10:36:52 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gnome-settings-daemon
|
# spec file for package gnome-settings-daemon
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -44,6 +44,8 @@ Patch0: gnome-settings-daemon-initial-keyboard.patch
|
|||||||
Patch1: gnome-settings-daemon-switch-Japanese-default-input-to-mozc.patch
|
Patch1: gnome-settings-daemon-switch-Japanese-default-input-to-mozc.patch
|
||||||
# PATCH-FIX-UPSTREAM 0001-usb-protection-Treat-hubs-and-HID-devices-like-any-o.patch glgo#GNOME/gnome-settings-daemon#780, bsc#1226423, CVE-2024-38394 sckang@suse.com -- usb-protection: Treat hubs and HID devices like any other USB gadget
|
# PATCH-FIX-UPSTREAM 0001-usb-protection-Treat-hubs-and-HID-devices-like-any-o.patch glgo#GNOME/gnome-settings-daemon#780, bsc#1226423, CVE-2024-38394 sckang@suse.com -- usb-protection: Treat hubs and HID devices like any other USB gadget
|
||||||
Patch4: 0001-usb-protection-Treat-hubs-and-HID-devices-like-any-o.patch
|
Patch4: 0001-usb-protection-Treat-hubs-and-HID-devices-like-any-o.patch
|
||||||
|
# PATCH-FIX-UPSTREAM gnome-settings-daemon-fix-stop-service.patch bsc#1233824 glgo#GNOME/gnome-settings-daemon!395-- sharing: Stop systemd service waiting when daemon is stopping
|
||||||
|
Patch5: gnome-settings-daemon-fix-stop-service.patch
|
||||||
|
|
||||||
## SLE/LEAP-only patches start at 1000
|
## SLE/LEAP-only patches start at 1000
|
||||||
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-notify-idle-resumed.patch bnc#439018 bnc#708182 bgo#575467 hpj@suse.com -- notify user about auto suspend when returning from sleep
|
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-notify-idle-resumed.patch bnc#439018 bnc#708182 bgo#575467 hpj@suse.com -- notify user about auto suspend when returning from sleep
|
||||||
|
Loading…
x
Reference in New Issue
Block a user