diff --git a/SOURCES/housekeeping-disambiguate-mount-names-in-notifications.patch b/SOURCES/housekeeping-disambiguate-mount-names-in-notifications.patch new file mode 100644 index 0000000..a3dc06e --- /dev/null +++ b/SOURCES/housekeeping-disambiguate-mount-names-in-notifications.patch @@ -0,0 +1,71 @@ +From 0d6208bfaceaa9f27d30ff0f38e3accf7bd56f95 Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Wed, 15 Jan 2025 15:26:19 +0100 +Subject: [PATCH] housekeeping: Disambiguate mount point names in notifications + +There might be mount-points with same name, so when that's the case, +let's show the path instead. + +Related: RHEL-11910 +--- + plugins/housekeeping/gsd-disk-space.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c +index c5ae8f6b..aff85205 100644 +--- a/plugins/housekeeping/gsd-disk-space.c ++++ b/plugins/housekeeping/gsd-disk-space.c +@@ -670,7 +670,8 @@ ldsm_notify (const char *summary, + + static void + ldsm_notify_for_mount (LdsmMountInfo *mount, +- gboolean multiple_volumes) ++ gboolean multiple_volumes, ++ gboolean is_ambiguous_name) + { + gboolean has_trash; + gchar *name; +@@ -688,7 +689,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount, + free_space_str = g_format_size (free_space); + + if (multiple_volumes) { +- summary = g_strdup_printf (_("Low Disk Space on “%s”"), name); ++ summary = g_strdup_printf (_("Low Disk Space on “%s”"), is_ambiguous_name ? path : name); + if (has_trash) { + body = g_strdup_printf (_("The volume “%s” has only %s disk space remaining. You may free up some space by emptying the trash."), + name, +@@ -778,8 +779,10 @@ ldsm_maybe_warn_mounts (GList *mounts, + gboolean multiple_volumes) + { + GList *l; ++ GHashTable *mount_names; + gboolean done = FALSE; + ++ mount_names = g_hash_table_new (g_str_hash, g_str_equal); + for (l = mounts; l != NULL; l = l->next) { + LdsmMountInfo *mount_info = l->data; + LdsmMountInfo *previous_mount_info; +@@ -832,10 +835,19 @@ ldsm_maybe_warn_mounts (GList *mounts, + } + + if (show_notify) { +- ldsm_notify_for_mount (mount_info, multiple_volumes); ++ g_autofree gchar *mount_name = NULL; ++ gboolean is_ambiguous_name = FALSE; ++ ++ mount_name = g_unix_mount_guess_name (mount_info->mount); ++ is_ambiguous_name = g_hash_table_contains (mount_names, mount_name); ++ g_hash_table_add (mount_names, mount_name); ++ ++ ldsm_notify_for_mount (mount_info, multiple_volumes, is_ambiguous_name); + done = TRUE; + } + } ++ ++ g_hash_table_destroy (mount_names); + } + + static gboolean +-- +2.37.1 + diff --git a/SOURCES/subman-build-option.patch b/SOURCES/subman-build-option.patch new file mode 100644 index 0000000..65f4ddf --- /dev/null +++ b/SOURCES/subman-build-option.patch @@ -0,0 +1,65 @@ +From dfa3c4a2a12272b110fac942f96935846ef055e8 Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Tue, 28 Jan 2025 15:52:21 +0100 +Subject: [PATCH] build: Add "subman" conditional build option + +Related: RHEL-4092 +--- + meson.build | 7 ++++++- + meson_options.txt | 2 ++ + plugins/meson.build | 4 ++++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 644ba060..ee3bfe85 100644 +--- a/meson.build ++++ b/meson.build +@@ -104,7 +104,6 @@ libcanberra_gtk_dep = dependency('libcanberra-gtk3') + libgeoclue_dep = dependency('libgeoclue-2.0', version: '>= 2.3.1') + libnotify_dep = dependency('libnotify', version: '>= 0.7.3') + libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', version: '>= 2.0') +-jsonglib_dep = dependency('json-glib-1.0', version: '>= 1.1.1') + pango_dep = dependency('pango', version: '>= 1.20.0') + polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.114') + upower_glib_dep = dependency('upower-glib', version: '>= 0.99.8') +@@ -232,6 +231,12 @@ if enable_colord + colord_dep = dependency('colord', version: '>= 1.4.5') + endif + ++# subman ++enable_subman = get_option('subman') ++if enable_subman ++ jsonglib_dep = dependency('json-glib-1.0', version: '>= 1.1.1') ++endif ++ + gnome = import('gnome') + i18n = import('i18n') + pkg = import('pkgconfig') +diff --git a/meson_options.txt b/meson_options.txt +index 3e04cf64..7e6e3d58 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -12,3 +12,5 @@ option('usb-protection', type: 'boolean', value: true, description: 'build with + option('wayland', type: 'boolean', value: true, description: 'build with Wayland support') + option('wwan', type: 'boolean', value: true, description: 'build with WWAN support') + option('colord', type: 'boolean', value: true, description: 'build with colord support') ++ ++option('subman', type: 'boolean', value: true, description: 'build with Red Hat subscription manager support') +diff --git a/plugins/meson.build b/plugins/meson.build +index 59266c8d..22cdc847 100644 +--- a/plugins/meson.build ++++ b/plugins/meson.build +@@ -53,6 +53,10 @@ if not enable_cups + disabled_plugins += ['print-notifications'] + endif + ++if not enable_subman ++ disabled_plugins += ['subman'] ++endif ++ + # Specify futher required units, 'before' or 'after' may be specified if ordering is needed + plugin_gate_units = { + 'xsettings': [ +-- +2.34.1 + diff --git a/SOURCES/subman-launch-registration-dialog-directly.patch b/SOURCES/subman-launch-registration-dialog-directly.patch new file mode 100644 index 0000000..4510043 --- /dev/null +++ b/SOURCES/subman-launch-registration-dialog-directly.patch @@ -0,0 +1,31 @@ +From ae039526040319438367802194dc4f7ad5789855 Mon Sep 17 00:00:00 2001 +From: Felipe Borges +Date: Thu, 30 Jan 2025 17:50:40 +0100 +Subject: [PATCH] Launch subscription registration dialog directly from + notification + +In https://issues.redhat.com/browse/RHEL-4101, GNOME Settings will start +handling `gnome-control-center info-overview subman-register` to launch +the dialog directly. +--- + plugins/subman/gsd-subscription-manager.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/subman/gsd-subscription-manager.c b/plugins/subman/gsd-subscription-manager.c +index 09a96a3a..e3b0565d 100644 +--- a/plugins/subman/gsd-subscription-manager.c ++++ b/plugins/subman/gsd-subscription-manager.c +@@ -1082,8 +1082,8 @@ gsd_subscription_manager_class_init (GsdSubscriptionManagerClass *klass) + static void + _launch_info_overview (void) + { +- const gchar *argv[] = { "gnome-control-center", "info-overview", NULL }; +- g_debug ("Running gnome-control-center info-overview"); ++ const gchar *argv[] = { "gnome-control-center", "info-overview", "subman-register", NULL }; ++ g_debug ("Running gnome-control-center info-overview subman-register"); + g_spawn_async (NULL, (gchar **) argv, NULL, G_SPAWN_SEARCH_PATH, + NULL, NULL, NULL, NULL); + } +-- +2.48.1 + diff --git a/SPECS/gnome-settings-daemon.spec b/SPECS/gnome-settings-daemon.spec index abe67aa..9033846 100644 --- a/SPECS/gnome-settings-daemon.spec +++ b/SPECS/gnome-settings-daemon.spec @@ -11,7 +11,7 @@ Name: gnome-settings-daemon Version: 40.0.1 -Release: 19%{?dist} +Release: 22%{?dist} Summary: The daemon sharing settings from GNOME to GTK+/KDE applications License: GPLv2+ @@ -76,6 +76,15 @@ Patch00006: usb-protection-dont-crash-when-screensaver-service-unavailable.patch Patch00007: smartcard-hotplug.patch Patch00008: power-button-action-server.patch +# https://issues.redhat.com/browse/RHEL-4101 +Patch00009: subman-launch-registration-dialog-directly.patch + +# https://issues.redhat.com/browse/RHEL-4092 +Patch00010: subman-build-option.patch + +# https://issues.redhat.com/browse/RHEL-11910 +Patch00011: housekeeping-disambiguate-mount-names-in-notifications.patch + %description A daemon to share settings from GNOME to other applications. It also handles global keybindings, as well as a number of desktop-wide settings. @@ -200,6 +209,18 @@ cp %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas %{_libdir}/pkgconfig/gnome-settings-daemon.pc %changelog +* Tue Mar 04 2025 Felipe Borges - 40.0.1-22 +- Use mount path in "Low disk" notification when multiple mount points have same name + Related: RHEL-11910 + +* Thu Feb 27 2025 Felipe Borges - 40.0.1-21 +- Add build option to disable subman plugin + Related: RHEL-4092 + +* Thu Jan 30 2025 Felipe Borges - 40.0.1-20 +- Make "Register System" notification launch registration dialog directly + Related: RHEL-4101 + * Mon Jan 20 2025 Felipe Borges - 40.0.1-19 - Fix default power-button-action setting for servers Related: RHEL-71937