diff --git a/SOURCES/0001-connector-drop-updates-support-in-favour-of-Shell-3..patch b/SOURCES/0001-connector-drop-updates-support-in-favour-of-Shell-3..patch new file mode 100644 index 0000000..460044d --- /dev/null +++ b/SOURCES/0001-connector-drop-updates-support-in-favour-of-Shell-3..patch @@ -0,0 +1,137 @@ +From c8bff2cb5f2b3f01dd3f98adb7e8358d604b3c47 Mon Sep 17 00:00:00 2001 +From: Yuri Konotopov +Date: Sun, 10 May 2020 14:22:47 +0400 +Subject: [PATCH] connector: drop updates support in favour of Shell 3.36 + default behavior + +Closes: https://gitlab.gnome.org/GNOME/chrome-gnome-shell/-/issues/19 +--- + connector/chrome-gnome-shell.py | 91 +-------------------------------- + 1 file changed, 1 insertion(+), 90 deletions(-) + +diff --git a/connector/chrome-gnome-shell.py b/connector/chrome-gnome-shell.py +index 0bde4dd..6c84ba9 100755 +--- a/connector/chrome-gnome-shell.py ++++ b/connector/chrome-gnome-shell.py +@@ -23,12 +23,6 @@ import struct + import sys + import traceback + +-REQUESTS_IMPORTED = True +-try: +- import requests +-except ImportError: +- REQUESTS_IMPORTED = False +- + CONNECTOR_VERSION = 10 + DEBUG_ENABLED = False + +@@ -371,9 +365,7 @@ class ChromeGNOMEShell(Gio.Application): + else: + disable_version_check = False + +- supports = ['notifications', "update-enabled"] +- if REQUESTS_IMPORTED: +- supports.append('update-check') ++ supports = ['notifications'] + + self.send_message( + { +@@ -474,16 +466,6 @@ class ChromeGNOMEShell(Gio.Application): + GLib.Variant.new_tuple(GLib.Variant.new_string(request['uuid'])), + "status") + +- elif request['execute'] == 'checkUpdate': +- update_url = 'https://extensions.gnome.org/update-info/' +- enabled_only = True +- if 'url' in request: +- update_url = request['url'] +- +- if 'enabledOnly' in request: +- enabled_only = request['enabledOnly'] +- +- self.check_update(update_url, enabled_only) + + elif request['execute'] == 'createNotification': + Gio.DBusActionGroup.get( +@@ -502,77 +484,6 @@ class ChromeGNOMEShell(Gio.Application): + + debug('Execute: from %s' % request['execute']) + +- def check_update(self, update_url, enabled_only): +- result = self.shell_proxy.call_sync( +- "ListExtensions", +- None, +- Gio.DBusCallFlags.NONE, +- -1, +- None +- ) +- +- extensions = result.unpack()[0] +- settings = Gio.Settings.new(SHELL_SCHEMA) +- enabled_extensions = settings.get_strv(ENABLED_EXTENSIONS_KEY) +- +- if extensions: +- http_request = { +- 'shell_version': self.shell_proxy.get_cached_property("ShellVersion").unpack(), +- 'installed': {} +- } +- +- for uuid in extensions: +- # gnome-shell/js/misc/extensionUtils.js +- # EXTENSION_TYPE.PER_USER = 2 +- if is_uuid(uuid) and extensions[uuid]['type'] == 2 and (not enabled_only or uuid in enabled_extensions): +- try: +- http_request['installed'][uuid] = { +- 'version': int(extensions[uuid]['version']) +- } +- except (ValueError, KeyError): +- http_request['installed'][uuid] = { +- 'version': 1 +- } +- +- http_request['installed'] = json.dumps(http_request['installed']) +- +- proxies = Gio.ProxyResolver.get_default().lookup(update_url) +- if proxies is not None: +- proxy = proxies[0] +- if proxy.startswith('direct'): +- proxies = None +- else: +- proxies = {} +- for scheme in ('http', 'https'): +- proxies[scheme] = proxy +- +- try: +- response = requests.get( +- update_url, +- params=http_request, +- proxies=proxies, +- timeout=5 +- ) +- response.raise_for_status() +- self.send_message({ +- 'success': True, +- 'extensions': extensions, +- 'upgrade': response.json()} +- ) +- except ( +- requests.ConnectionError, requests.HTTPError, requests.Timeout, +- requests.TooManyRedirects, requests.RequestException, ValueError +- ) as ex: +- error_message = str(ex.message) if hasattr(ex, 'message') else str(ex) +- log_error('Unable to check extensions updates: %s' % error_message) +- +- request_url = ex.response.url if ex.response is not None else ex.request.url +- if request_url: +- url_parameters = request_url.replace(update_url, "") +- error_message = error_message.replace(url_parameters, "…") +- +- self.send_message({'success': False, 'message': error_message}) +- + + if __name__ == '__main__': + debug('Main. Use Ctrl+D to quit.') +-- +2.29.2 + diff --git a/SPECS/chrome-gnome-shell.spec b/SPECS/chrome-gnome-shell.spec index 48ba8c4..838fc48 100644 --- a/SPECS/chrome-gnome-shell.spec +++ b/SPECS/chrome-gnome-shell.spec @@ -2,7 +2,7 @@ Name: chrome-gnome-shell Version: 10.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Support for managing GNOME Shell Extensions through web browsers License: GPLv3+ @@ -11,9 +11,11 @@ Source0: https://download.gnome.org/sources/%{name}/%{version}/%{name}-%{ Source1: https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz Patch1: 0001-build-Install-icons-in-hicolor-theme.patch +Patch2: 0001-connector-drop-updates-support-in-favour-of-Shell-3..patch BuildRequires: cmake BuildRequires: desktop-file-utils +BuildRequires: git BuildRequires: python3-devel BuildRequires: /usr/bin/base64 BuildRequires: /usr/bin/head @@ -35,7 +37,7 @@ and the corresponding extensions repository https://extensions.gnome.org. %prep %setup -q -n jq-1.6 -b1 -T -%autosetup +%autosetup -S git %build (cd ../jq-1.6 @@ -73,6 +75,10 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/org.gnome.ChromeGn %{_datadir}/icons/hicolor/*/apps/org.gnome.ChromeGnomeShell.png %changelog +* Mon Jan 25 2021 Florian Müllner - 10.1-7 +- Disable updates support + Resolves: #1802105 + * Fri Jul 12 2019 Florian Müllner - 10.1-6 - Install icons in 'hicolor' instead of 'gnome' Related: #1694203