diff --git a/.gitignore b/.gitignore index 2e20c60..84b0104 100644 --- a/.gitignore +++ b/.gitignore @@ -209,3 +209,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-43.rc.tar.xz /gnome-shell-43.0.tar.xz /gnome-shell-43.1.tar.xz +/gnome-shell-44.beta.tar.xz diff --git a/0001-inhibitShorcutsDialog-Fix-permission-check.patch b/0001-inhibitShorcutsDialog-Fix-permission-check.patch deleted file mode 100644 index c295161..0000000 --- a/0001-inhibitShorcutsDialog-Fix-permission-check.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b0befbbfbbe4a335f6c184049743202e91fcdfe8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Fri, 18 Nov 2022 22:40:31 +0100 -Subject: [PATCH] inhibitShorcutsDialog: Fix permission check - -Each permission entry is an array of strings, so checking that against -the expected string itself will always fail. - -https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6107 - -Part-of: ---- - js/ui/inhibitShortcutsDialog.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js -index b6f1330b2..7c3d15996 100644 ---- a/js/ui/inhibitShortcutsDialog.js -+++ b/js/ui/inhibitShortcutsDialog.js -@@ -143,7 +143,7 @@ var InhibitShortcutsDialog = GObject.registerClass({ - - if (permissions[appId] === undefined) // Not found - this._dialog.open(); -- else if (permissions[appId] === GRANTED) -+ else if (permissions[appId][0] === GRANTED) - this._emitResponse(DialogResponse.ALLOW); - else - this._emitResponse(DialogResponse.DENY); --- -2.37.3 - diff --git a/0001-main-Leak-the-GJS-context-and-ShellGlobal.patch b/0001-main-Leak-the-GJS-context-and-ShellGlobal.patch deleted file mode 100644 index bd5146e..0000000 --- a/0001-main-Leak-the-GJS-context-and-ShellGlobal.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9a0ecad2b94243fbed5290f78d967d8714c3d3e4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Wed, 6 Oct 2021 10:00:43 +0200 -Subject: [PATCH] main: Leak the GJS context and ShellGlobal - -There are many crash-on-exit happening as a side effect of destroying -the GJS context. Work around these until we have a better solution by -leaking them. ---- - src/main.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/main.c b/src/main.c -index 3cd9e10a5b..ce56e2a87a 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -570,9 +570,11 @@ main (int argc, char **argv) - - shell_profiler_shutdown (); - -+#if 0 - g_debug ("Doing final cleanup"); - _shell_global_destroy_gjs_context (shell_global_get ()); - g_object_unref (shell_global_get ()); -+#endif - - return ecode; - } --- -2.31.1 - diff --git a/2534.patch b/2534.patch deleted file mode 100644 index 8ad1222..0000000 --- a/2534.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d9e5c8a89900b30d2cf432c376613a3f68fc7012 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Fri, 11 Nov 2022 13:13:41 +0100 -Subject: [PATCH] status/keyboard: Ignore purpose hint changes while keymap - switcher is shown - -If we are getting purpose hint changes while the language switcher is popped -up, this likely means the purpose hint was actually triggered by the key -focus change induced by the language switcher popping up. - -In this case, we on one hand would like to preserve the state that applied -before thise focus change, and on the other we very much want to avoid the -keymap change that would forget about the keys being pressed. - -Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066 ---- - js/ui/status/keyboard.js | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js -index 82706c0389..c23529cb9e 100644 ---- a/js/ui/status/keyboard.js -+++ b/js/ui/status/keyboard.js -@@ -411,9 +411,12 @@ var InputSourceManager = class extends Signals.EventEmitter { - return; - } - -- let popup = new InputSourcePopup(this._mruSources, this._keybindingAction, this._keybindingActionBackward); -- if (!popup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) -- popup.fadeAndDestroy(); -+ this._switcherPopup = new InputSourcePopup( -+ this._mruSources, this._keybindingAction, this._keybindingActionBackward); -+ this._switcherPopup.connect('destroy', () => this._switcherPopup = null); -+ if (!this._switcherPopup.show( -+ binding.is_reversed(), binding.get_name(), binding.get_mask())) -+ this._switcherPopup.fadeAndDestroy(); - } - - _keyboardOptionsChanged() { -@@ -675,6 +678,10 @@ var InputSourceManager = class extends Signals.EventEmitter { - } - - _ibusSetContentType(im, purpose, _hints) { -+ // Avoid purpose changes while the switcher popup is shown, likely due to -+ // the focus change caused by the switcher popup causing this purpose change. -+ if (this._switcherPopup) -+ return; - if (purpose == IBus.InputPurpose.PASSWORD) { - if (Object.keys(this._inputSources).length == Object.keys(this._ibusSources).length) - return; --- -GitLab - diff --git a/gnome-shell.spec b/gnome-shell.spec index 090da65..5dd7d8b 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,28 +1,13 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-shell -Version: 43.1 -Release: 5%{?dist} +Version: 44~beta +Release: 1%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ URL: https://wiki.gnome.org/Projects/GnomeShell -Source0: https://download.gnome.org/sources/gnome-shell/43/%{name}-%{tarball_version}.tar.xz - -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2534 -# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066 -# Fix layout switching in password entry boxes -Patch1: 2534.patch - -# Backport broken screen cast fix if gstreamer1-vaapi was installed. -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533 -Patch2: post-43.1-fixes.patch - -# Backport fix for keyboard shortcut inhibit permissions -# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6107 -# https://gitlab.gnome.org/GNOME/gnome-boxes/-/issues/872 -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2548 -Patch3: 0001-inhibitShorcutsDialog-Fix-permission-check.patch +Source0: https://download.gnome.org/sources/gnome-shell/44/%{name}-%{tarball_version}.tar.xz # Replace Epiphany with Firefox in the default favourite apps list Patch10001: gnome-shell-favourite-apps-firefox.patch @@ -31,9 +16,6 @@ Patch10001: gnome-shell-favourite-apps-firefox.patch # downstream patch to stop trying on configuration errors. Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch -# Work around crashy tear down -Patch60003: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch - %define eds_version 3.45.1 %define gnome_desktop_version 3.35.91 %define glib2_version 2.56.0 @@ -42,7 +24,7 @@ Patch60003: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch %define gtk3_version 3.15.0 %define gtk4_version 4.0.0 %define adwaita_version 1.0.0 -%define mutter_version 43.0 +%define mutter_version 44~beta %define polkit_version 0.100 %define gsettings_desktop_schemas_version 42~beta %define ibus_version 1.5.2 @@ -190,7 +172,8 @@ mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers %check desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop -desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop %files -f %{name}.lang %license COPYING @@ -204,7 +187,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_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}/applications/evolution-calendar.desktop %{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop %{_datadir}/bash-completion/completions/gnome-extensions %{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml @@ -231,7 +213,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_userunitdir}/org.gnome.Shell.target %{_userunitdir}/org.gnome.Shell@wayland.service %{_userunitdir}/org.gnome.Shell@x11.service -%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop # Co own directory instead of pulling in xdg-desktop-portal - we # are providing a backend to the portal, not depending on it %dir %{_datadir}/xdg-desktop-portal/portals/ @@ -241,11 +222,13 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_libexecdir}/gnome-shell-perf-helper %{_libexecdir}/gnome-shell-hotplug-sniffer %{_libexecdir}/gnome-shell-portal-helper -%{_libexecdir}/gnome-shell-overrides-migration.sh %{_mandir}/man1/gnome-extensions.1* %{_mandir}/man1/gnome-shell.1* %changelog +* Tue Feb 14 2023 Florian Müllner - 44~beta-1 +- Update to 44.beta + * Thu Jan 19 2023 Fedora Release Engineering - 43.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/post-43.1-fixes.patch b/post-43.1-fixes.patch deleted file mode 100644 index a337668..0000000 --- a/post-43.1-fixes.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 3851180cb02ab96d1ca18153fa3372bb46cdb691 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Sun, 6 Nov 2022 11:56:41 +0100 -Subject: [PATCH 1/2] dbusService/screencast: Hold during gstreamer checks - -Some gstreamer plugins require a connection to the display server, -so they block until the server is up and running. That's why we -moved the check into the D-Bus service, so that the blocking would -not lock up the compositor itself. - -However the block can still delay the service initialization so -much that auto-shutdown hits immediately when returning from the -constructor. If that happens, the proxy on the shell side is no -longer backed by a remote object when the init callback runs, and -all properties therefore resolve as `null`. - -As a result, gnome-shell thinks that screencasts aren't supported -and hides the screencast button. - -Fix this by holding the service during the gstreamer checks, so -that the auto-shutdown timeout only starts after the service is -ready. - -https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6051 - -Part-of: -(cherry picked from commit a2acecb491e53e889dd995d3db386aaa182e04a0) ---- - js/dbusServices/screencast/screencastService.js | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js -index f7f36da886..a2bb23cfea 100644 ---- a/js/dbusServices/screencast/screencastService.js -+++ b/js/dbusServices/screencast/screencastService.js -@@ -271,11 +271,14 @@ var ScreencastService = class extends ServiceImplementation { - constructor() { - super(ScreencastIface, '/org/gnome/Shell/Screencast'); - -+ this.hold(); // gstreamer initializing can take a bit - this._canScreencast = ScreencastService.canScreencast(); - - Gst.init(null); - Gtk.init(); - -+ this.release(); -+ - this._recorders = new Map(); - this._senders = new Map(); - --- -2.38.1 - - -From 41235b44ae02be26aa290c66d5a2a1ec9e458568 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Sun, 6 Nov 2022 13:06:44 +0100 -Subject: [PATCH 2/2] screenshot: Cache ScreencastSupported property - -The screencast service shuts down when not in use, so it is almost -certainly not running when handling the screencast shortcut. - -Instead of making sure the service is restarted, just cache the -property when initializing the proxy. - -Part-of: -(cherry picked from commit 144daf200c12f313c2cc7c01daef9e26e396a328) ---- - js/ui/screenshot.js | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js -index a01fbe3c94..b2ea6fad2b 100644 ---- a/js/ui/screenshot.js -+++ b/js/ui/screenshot.js -@@ -1017,6 +1017,7 @@ var ScreenshotUI = GObject.registerClass({ - }); - - this._screencastInProgress = false; -+ this._screencastSupported = false; - - this._screencastProxy = new ScreencastProxy( - Gio.DBus.session, -@@ -1028,7 +1029,8 @@ var ScreenshotUI = GObject.registerClass({ - return; - } - -- this._castButton.visible = this._screencastProxy.ScreencastSupported; -+ this._screencastSupported = this._screencastProxy.ScreencastSupported; -+ this._castButton.visible = this._screencastSupported; - }); - - this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' }); -@@ -1450,7 +1452,7 @@ var ScreenshotUI = GObject.registerClass({ - if (this._screencastInProgress) - return; - -- if (mode === UIMode.SCREENCAST && !this._screencastProxy.ScreencastSupported) -+ if (mode === UIMode.SCREENCAST && !this._screencastSupported) - return; - - this._castButton.checked = mode === UIMode.SCREENCAST; --- -2.38.1 - diff --git a/sources b/sources index bddcc67..089dfa3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-43.1.tar.xz) = 1e41f0ce38b285aca1f9189fdb50e4d409232554da73e9c08e21b5888d35bad3e2bf4a47e93fdf20798ea6f63864223088b78cab7c63fc1105cd955701ea2e81 +SHA512 (gnome-shell-44.beta.tar.xz) = 54add2c478ea35118684b229857c7f8f77bf270f1b465557790375a0b701b1b705025858565f9bcd613af61136e45bc05a659228316f7b51ed288228a576f148