From eef9be3f7ac2337b55f3f335622e84bcfa5e44f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 13 Nov 2025 13:00:06 +0100 Subject: [PATCH] Revert gnome-session related changes Related: https://issues.redhat.com/browse/RHEL-124221 --- ...rt-data-Drop-org.gnome.Shell.desktop.patch | 79 +++++++++++++++++++ ...otify-gnome-session-when-we-re-ready.patch | 46 +++++++++++ gnome-shell.spec | 6 ++ 3 files changed, 131 insertions(+) create mode 100644 0001-Revert-data-Drop-org.gnome.Shell.desktop.patch create mode 100644 0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch diff --git a/0001-Revert-data-Drop-org.gnome.Shell.desktop.patch b/0001-Revert-data-Drop-org.gnome.Shell.desktop.patch new file mode 100644 index 0000000..bcea6b2 --- /dev/null +++ b/0001-Revert-data-Drop-org.gnome.Shell.desktop.patch @@ -0,0 +1,79 @@ +From 622ee57d6b53011d11e7e22f741766af6424d398 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 13 Nov 2025 12:57:55 +0100 +Subject: [PATCH 1/2] Revert "data: Drop org.gnome.Shell.desktop" + +This reverts commit f3911151da7b0e3c630011cb26bd85f719e531d2. +--- + data/meson.build | 13 ++++++++++++- + ....in => org.gnome.Shell.Extensions.desktop.in.in} | 0 + ...n => org.gnome.Shell.PortalHelper.desktop.in.in} | 0 + data/org.gnome.Shell.desktop.in.in | 13 +++++++++++++ + 4 files changed, 25 insertions(+), 1 deletion(-) + rename data/{org.gnome.Shell.Extensions.desktop.in => org.gnome.Shell.Extensions.desktop.in.in} (100%) + rename data/{org.gnome.Shell.PortalHelper.desktop.in => org.gnome.Shell.PortalHelper.desktop.in.in} (100%) + create mode 100644 data/org.gnome.Shell.desktop.in.in + +diff --git a/data/meson.build b/data/meson.build +index cc7b5e2a1f..76a32ca59f 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -1,6 +1,7 @@ + data_builddir = meson.current_build_dir() + + desktop_files = [ ++ 'org.gnome.Shell.desktop', + 'org.gnome.Shell.Extensions.desktop', + ] + service_files = [] +@@ -10,9 +11,19 @@ if have_portal_helper + service_files += 'org.gnome.Shell.PortalHelper.service' + endif + ++desktopconf = configuration_data() ++# We substitute in bindir so it works as an autostart ++# file when built in a non-system prefix ++desktopconf.set('bindir', bindir) ++desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false') ++ + foreach desktop_file : desktop_files + i18n.merge_file( +- input: desktop_file + '.in', ++ input: configure_file( ++ input: desktop_file + '.in.in', ++ output: desktop_file + '.in', ++ configuration: desktopconf ++ ), + output: desktop_file, + po_dir: po_dir, + install: true, +diff --git a/data/org.gnome.Shell.Extensions.desktop.in b/data/org.gnome.Shell.Extensions.desktop.in.in +similarity index 100% +rename from data/org.gnome.Shell.Extensions.desktop.in +rename to data/org.gnome.Shell.Extensions.desktop.in.in +diff --git a/data/org.gnome.Shell.PortalHelper.desktop.in b/data/org.gnome.Shell.PortalHelper.desktop.in.in +similarity index 100% +rename from data/org.gnome.Shell.PortalHelper.desktop.in +rename to data/org.gnome.Shell.PortalHelper.desktop.in.in +diff --git a/data/org.gnome.Shell.desktop.in.in b/data/org.gnome.Shell.desktop.in.in +new file mode 100644 +index 0000000000..59d1cd2fe9 +--- /dev/null ++++ b/data/org.gnome.Shell.desktop.in.in +@@ -0,0 +1,13 @@ ++[Desktop Entry] ++Type=Application ++Name=GNOME Shell ++Comment=Window management and application launching ++Exec=@bindir@/gnome-shell ++Categories=GNOME;GTK;Core; ++OnlyShowIn=GNOME; ++NoDisplay=true ++X-GNOME-Autostart-Phase=DisplayServer ++X-GNOME-Provides=panel;windowmanager; ++X-GNOME-Autostart-Notify=true ++X-GNOME-AutoRestart=false ++X-GNOME-HiddenUnderSystemd=@systemd_hidden@ +-- +2.51.1 + diff --git a/0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch b/0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch new file mode 100644 index 0000000..3d90439 --- /dev/null +++ b/0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch @@ -0,0 +1,46 @@ +From 100b2139c689e8e9ef8095cdd7da8eb016a3f53f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 13 Nov 2025 12:57:58 +0100 +Subject: [PATCH 2/2] Reapply "main: Notify gnome-session when we're ready" + +This reverts commit d697bdceaefeae49ad0e03df7352884899c3e14a. +--- + js/ui/main.js | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/js/ui/main.js b/js/ui/main.js +index bb6d8f6723..7e1b84d694 100644 +--- a/js/ui/main.js ++++ b/js/ui/main.js +@@ -330,6 +330,7 @@ async function _initializeUI() { + GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + Shell.util_sd_notify(); + global.context.notify_ready(); ++ _notifyGnomeSessionReady(); + return GLib.SOURCE_REMOVE; + }); + +@@ -394,6 +395,20 @@ async function _initializeUI() { + }); + } + ++async function _notifyGnomeSessionReady() { ++ try { ++ let params = GLib.Variant.new('(ss)', ['org.gnome.Shell.desktop', '']); ++ await Gio.DBus.session.call( ++ 'org.gnome.SessionManager', ++ '/org/gnome/SessionManager', ++ 'org.gnome.SessionManager', ++ 'RegisterClient', params, null, ++ Gio.DBusCallFlags.NONE, -1, null); ++ } catch (e) { ++ log(`Error notifying gnome-session that we're ready: ${e.message}`); ++ } ++} ++ + function _handleShowWelcomeScreen() { + const lastShownVersion = global.settings.get_string(WELCOME_DIALOG_LAST_SHOWN_VERSION); + if (Util.GNOMEversionCompare(WELCOME_DIALOG_LAST_TOUR_CHANGE, lastShownVersion) > 0) { +-- +2.51.1 + diff --git a/gnome-shell.spec b/gnome-shell.spec index 0df7359..47b3cbe 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -29,6 +29,10 @@ Patch: revert-gir-2.0-port.patch # Required schemas have been backported Patch: 0001-build-Lower-gsettings-desktop-schemas-requirement.patch +# Revert gnome-session related changes +Patch: 0001-Revert-data-Drop-org.gnome.Shell.desktop.patch +Patch: 0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch + # Some users might have a broken PAM config, so we really need this # downstream patch to stop trying on configuration errors. Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch @@ -237,6 +241,7 @@ mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers %find_lang %{name} %check +desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop %if %{portal_helper} @@ -254,6 +259,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta %{_datadir}/glib-2.0/schemas/*.xml %{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override %{_datadir}/applications/org.gnome.Shell.Extensions.desktop +%{_datadir}/applications/org.gnome.Shell.desktop %{_datadir}/bash-completion/completions/gnome-extensions %{_datadir}/bash-completion/completions/gnome-screenshot-tool %{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml