diff --git a/.chrome-gnome-shell.metadata b/.chrome-gnome-shell.metadata new file mode 100644 index 0000000..8115029 --- /dev/null +++ b/.chrome-gnome-shell.metadata @@ -0,0 +1,2 @@ +f8c05bd58302c6b0ad3220f9e82df4a43b4ea4f3 SOURCES/chrome-gnome-shell-10.1.tar.xz +73bcbdc45be4db907a864e829b06cd869f77f4f7 SOURCES/jq-1.6.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a972e3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/chrome-gnome-shell-10.1.tar.xz +SOURCES/jq-1.6.tar.gz diff --git a/SOURCES/0001-build-Install-icons-in-hicolor-theme.patch b/SOURCES/0001-build-Install-icons-in-hicolor-theme.patch new file mode 100644 index 0000000..ec0d241 --- /dev/null +++ b/SOURCES/0001-build-Install-icons-in-hicolor-theme.patch @@ -0,0 +1,39 @@ +From bb1755043ce4b859406766dd2cdcb34b6fb300da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 12 Jul 2019 16:13:27 +0200 +Subject: [PATCH] build: Install icons in hicolor theme + +This is the theme that will always be used as fallback regardless of the +icon-theme setting, and the expected location for application icons[0]. + +[0] https://wiki.gnome.org/HowDoI/ThemedIcons + +https://gitlab.gnome.org/GNOME/chrome-gnome-shell/merge_requests/4 +--- + CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f41ed4a..170c9f7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -202,13 +202,13 @@ if(BUILD_CONNECTOR) + install(FILES "${CMAKE_BINARY_DIR}/org.gnome.ChromeGnomeShell.service" DESTINATION "${CMAKE_INSTALL_DATADIR}/dbus-1/services/") + + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/extension/icons/GnomeLogo-16.png" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/gnome/16x16/apps/" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps/" + RENAME org.gnome.ChromeGnomeShell.png) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/extension/icons/GnomeLogo-48.png" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/gnome/48x48/apps/" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps/" + RENAME org.gnome.ChromeGnomeShell.png) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/extension/icons/GnomeLogo-128.png" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/gnome/128x128/apps/" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/" + RENAME org.gnome.ChromeGnomeShell.png) + endif(BUILD_CONNECTOR) + +-- +2.21.0 + 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 new file mode 100644 index 0000000..838fc48 --- /dev/null +++ b/SPECS/chrome-gnome-shell.spec @@ -0,0 +1,144 @@ +%global debug_package %{nil} + +Name: chrome-gnome-shell +Version: 10.1 +Release: 7%{?dist} +Summary: Support for managing GNOME Shell Extensions through web browsers + +License: GPLv3+ +URL: https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome +Source0: https://download.gnome.org/sources/%{name}/%{version}/%{name}-%{version}.tar.xz +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 +BuildRequires: /usr/bin/sha256sum +BuildRequires: /usr/bin/tr + +Requires: dbus +Requires: gnome-shell +Requires: hicolor-icon-theme +Requires: mozilla-filesystem +Requires: python3-gobject-base +Requires: python3-requests + +%description +Browser extension for Google Chrome/Chromium, Firefox, Vivaldi, Opera (and +other Browser Extension, Chrome Extension or WebExtensions capable browsers) +and native host messaging connector that provides integration with GNOME Shell +and the corresponding extensions repository https://extensions.gnome.org. + +%prep +%setup -q -n jq-1.6 -b1 -T +%autosetup -S git + +%build +(cd ../jq-1.6 + ./configure --with-oniguruma=no \ + --prefix=$PWD + make %{?_smp_mflags} + make install) +export PATH=$PWD/../jq-1.6/bin:$PATH +mkdir build +pushd build + %cmake -DBUILD_EXTENSION=OFF \ + -DCMAKE_INSTALL_LIBDIR=%{_lib} \ + -DPython_ADDITIONAL_VERSIONS=3 \ + .. + %make_build +popd + +%install +pushd build + %make_install +popd + +%check +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/org.gnome.ChromeGnomeShell.desktop + +%files +%license LICENSE +%{_sysconfdir}/chromium/ +%{_sysconfdir}/opt/chrome/ +%{_bindir}/chrome-gnome-shell +%{_libdir}/mozilla/native-messaging-hosts/ +%{python3_sitelib}/chrome_gnome_shell-*.egg-info +%{_datadir}/applications/org.gnome.ChromeGnomeShell.desktop +%{_datadir}/dbus-1/services/org.gnome.ChromeGnomeShell.service +%{_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 + +* Thu Jul 12 2019 Tomas Pelka - 10.1-5 +- bump release num to correctly start gating process + + Related: #1694203 + +* Thu Jul 11 2019 Florian Müllner - 10.1-4 +- Adjust Fedora spec to build on RHEL: + - build missing BuildRequire + + Related: #1694203 + +* Thu Jan 31 2019 Fedora Release Engineering - 10.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 10.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 10.1-2 +- Rebuilt for Python 3.7 + +* Wed Apr 04 2018 Pete Walter - 10.1-1 +- Update to 10.1 + +* Wed Feb 07 2018 Fedora Release Engineering - 9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jun 22 2017 Pete Walter - 9-1 +- Update to 9 + +* Fri Mar 10 2017 Pete Walter - 8.2-2 +- Package review fixes (#1343710) +- Validate the desktop file +- Don't own /etc/opt directory +- Depend on mozilla-filesystem instead of co-owning mozilla directories +- Depend on dbus and gnome-icon-theme/hicolor-icon-theme for directory + ownership + +* Fri Mar 03 2017 Pete Walter - 8.2-1 +- Update to 8.2 +- Simplify files list +- Build with Python 3 (#1343710) +- Add missing python3-requests dependency (#1343710) +- Update package description + +* Tue Jun 07 2016 Pete Walter - 6.1-1 +- Update to 6.1 + +* Sat May 14 2016 Maxim Orlov - 6-1 +- Update to Ver.6 +- Fix "orphaned directory" + +* Mon Apr 11 2016 Maxim Orlov - 5.2-1 +- Initial package.