Revert gnome-session related changes

Related: https://issues.redhat.com/browse/RHEL-124221
This commit is contained in:
Florian Müllner 2025-11-13 13:00:06 +01:00
parent 7a77ecf292
commit eef9be3f7a
No known key found for this signature in database
3 changed files with 131 additions and 0 deletions

View File

@ -0,0 +1,79 @@
From 622ee57d6b53011d11e7e22f741766af6424d398 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
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

View File

@ -0,0 +1,46 @@
From 100b2139c689e8e9ef8095cdd7da8eb016a3f53f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
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

View File

@ -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