From c68eece936e2cabccd58c7ddac8110317de2c58c Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 15 Mar 2021 23:06:47 +0100 Subject: [PATCH] Update to 40.rc --- .gitignore | 1 + ...t-Avoid-600000-allocations-when-comp.patch | 274 ------------------ ...-Reset-online-updates-timestamp-only.patch | 35 --- gnome-software.spec | 85 +++--- sources | 2 +- 5 files changed, 42 insertions(+), 355 deletions(-) delete mode 100644 0001-Revert-packagekit-Avoid-600000-allocations-when-comp.patch delete mode 100644 0001-gs-plugin-loader-Reset-online-updates-timestamp-only.patch diff --git a/.gitignore b/.gitignore index 588cce0..6dba849 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,4 @@ /gnome-software-3.38.0.tar.xz /gnome-software-3.38.1.tar.xz /gnome-software-40.beta.tar.xz +/gnome-software-40.rc.tar.xz diff --git a/0001-Revert-packagekit-Avoid-600000-allocations-when-comp.patch b/0001-Revert-packagekit-Avoid-600000-allocations-when-comp.patch deleted file mode 100644 index 0d293bb..0000000 --- a/0001-Revert-packagekit-Avoid-600000-allocations-when-comp.patch +++ /dev/null @@ -1,274 +0,0 @@ -From b3a50ee2d6b93980d1808599ba003e9afc4feae5 Mon Sep 17 00:00:00 2001 -From: Kalev Lember -Date: Mon, 14 Sep 2020 12:07:30 +0200 -Subject: [PATCH] Revert "packagekit: Avoid 600000 allocations when comparing - package IDs" - -This broke packagekit updates. - -https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1061 -https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f57486c95#comment-1621958 - -This reverts commit 955570e4a5d737a9a4f85860fd7e483158e130c4. ---- - .../packagekit/gs-plugin-packagekit-refine.c | 12 +- - .../gs-plugin-packagekit-url-to-app.c | 6 +- - plugins/packagekit/packagekit-common.c | 149 ++++++------------ - plugins/packagekit/packagekit-common.h | 3 +- - 4 files changed, 54 insertions(+), 116 deletions(-) - -diff --git a/plugins/packagekit/gs-plugin-packagekit-refine.c b/plugins/packagekit/gs-plugin-packagekit-refine.c -index 68f7eb64..813390b1 100644 ---- a/plugins/packagekit/gs-plugin-packagekit-refine.c -+++ b/plugins/packagekit/gs-plugin-packagekit-refine.c -@@ -345,7 +345,6 @@ gs_plugin_packagekit_refine_details2 (GsPlugin *plugin, - g_autoptr(GPtrArray) array = NULL; - g_autoptr(GPtrArray) package_ids = NULL; - g_autoptr(PkResults) results = NULL; -- g_autoptr(GHashTable) details_collection = NULL; - - package_ids = g_ptr_array_new_with_free_func (g_free); - for (i = 0; i < gs_app_list_length (list); i++) { -@@ -375,19 +374,12 @@ gs_plugin_packagekit_refine_details2 (GsPlugin *plugin, - return FALSE; - } - -- /* get the results and copy them into a hash table for fast lookups: -- * there are typically 400 to 700 elements in @array, and 100 to 200 -- * elements in @list, each with 1 or 2 source IDs to look up (but -- * sometimes 200) */ -- array = pk_results_get_details_array (results); -- details_collection = gs_plugin_packagekit_details_array_to_hash (array); -- - /* set the update details for the update */ -+ array = pk_results_get_details_array (results); - for (i = 0; i < gs_app_list_length (list); i++) { - app = gs_app_list_index (list, i); -- gs_plugin_packagekit_refine_details_app (plugin, details_collection, app); -+ gs_plugin_packagekit_refine_details_app (plugin, array, app); - } -- - return TRUE; - } - -diff --git a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c -index 04189204..7f566c72 100644 ---- a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c -+++ b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c -@@ -106,15 +106,11 @@ gs_plugin_url_to_app (GsPlugin *plugin, - details = pk_results_get_details_array (results); - - if (packages->len >= 1) { -- g_autoptr(GHashTable) details_collection = NULL; -- - if (gs_app_get_local_file (app) != NULL) - return TRUE; - -- details_collection = gs_plugin_packagekit_details_array_to_hash (details); -- - gs_plugin_packagekit_resolve_packages_app (plugin, packages, app); -- gs_plugin_packagekit_refine_details_app (plugin, details_collection, app); -+ gs_plugin_packagekit_refine_details_app (plugin, details, app); - - gs_app_list_add (list, app); - } else { -diff --git a/plugins/packagekit/packagekit-common.c b/plugins/packagekit/packagekit-common.c -index 495960dd..9367f5bf 100644 ---- a/plugins/packagekit/packagekit-common.c -+++ b/plugins/packagekit/packagekit-common.c -@@ -388,127 +388,78 @@ gs_plugin_packagekit_set_metadata_from_package (GsPlugin *plugin, - pk_package_get_summary (package)); - } - --/* Hash functions which compare PkPackageIds on NAME, VERSION and ARCH, but not DATA. -- * This is because some backends do not append the origin. -+/* -+ * gs_pk_compare_ids: - * -- * Borrowing some implementation details from pk-package-id.c, a package -- * ID is a semicolon-separated list of NAME;[VERSION];[ARCH];[DATA], -- * so a comparison which ignores DATA is just a strncmp() up to and -- * including the final semicolon. -- * -- * Doing it this way means zero allocations, which allows the hash and -- * equality functions to be fast. This is important when dealing with -- * large refine() package lists. -- * -- * The hash and equality functions assume that the IDs they are passed are -- * valid. */ --static guint --package_id_hash (gconstpointer key) --{ -- const gchar *package_id = key; -- gchar *no_data; -- gsize i, last_semicolon = 0; -- -- /* find the last semicolon, which starts the DATA section */ -- for (i = 0; package_id[i] != '\0'; i++) { -- if (package_id[i] == ';') -- last_semicolon = i; -- } -- -- /* exit early if the DATA section was empty */ -- if (last_semicolon + 1 == i) -- return g_str_hash (package_id); -- -- /* extract up to (and including) the last semicolon into a local string */ -- no_data = g_alloca (last_semicolon + 2); -- memcpy (no_data, package_id, last_semicolon + 1); -- no_data[last_semicolon + 1] = '\0'; -- -- return g_str_hash (no_data); --} -- -+ * Do not compare the repo. Some backends do not append the origin. -+ */ - static gboolean --package_id_equal (gconstpointer a, -- gconstpointer b) -+gs_pk_compare_ids (const gchar *package_id1, const gchar *package_id2) - { -- const gchar *package_id_a = a; -- const gchar *package_id_b = b; -- gsize n_semicolons = 0; -- -- /* compare up to and including the last semicolon */ -- for (gsize i = 0; package_id_a[i] != '\0' && package_id_b[i] != '\0'; i++) { -- if (package_id_a[i] != package_id_b[i]) -- return FALSE; -- if (package_id_a[i] == ';') -- n_semicolons++; -- if (n_semicolons == 4) -- return TRUE; -- } -+ gboolean ret; -+ g_auto(GStrv) split1 = NULL; -+ g_auto(GStrv) split2 = NULL; - -- return FALSE; -+ split1 = pk_package_id_split (package_id1); -+ if (split1 == NULL) -+ return FALSE; -+ split2 = pk_package_id_split (package_id2); -+ if (split2 == NULL) -+ return FALSE; -+ ret = (g_strcmp0 (split1[PK_PACKAGE_ID_NAME], -+ split2[PK_PACKAGE_ID_NAME]) == 0 && -+ g_strcmp0 (split1[PK_PACKAGE_ID_VERSION], -+ split2[PK_PACKAGE_ID_VERSION]) == 0 && -+ g_strcmp0 (split1[PK_PACKAGE_ID_ARCH], -+ split2[PK_PACKAGE_ID_ARCH]) == 0); -+ return ret; - } - --GHashTable * --gs_plugin_packagekit_details_array_to_hash (GPtrArray *array) --{ -- g_autoptr(GHashTable) details_collection = NULL; -- -- details_collection = g_hash_table_new_full (package_id_hash, package_id_equal, -- NULL, NULL); -- -- for (gsize i = 0; i < array->len; i++) { -- PkDetails *details = g_ptr_array_index (array, i); -- g_hash_table_insert (details_collection, -- pk_details_get_package_id (details), -- details); -- } -- -- return g_steal_pointer (&details_collection); --} - - void - gs_plugin_packagekit_refine_details_app (GsPlugin *plugin, -- GHashTable *details_collection, -+ GPtrArray *array, - GsApp *app) - { - GPtrArray *source_ids; - PkDetails *details; - const gchar *package_id; -+ guint i; - guint j; - guint64 size = 0; - -- /* @source_ids can have as many as 200 elements (google-noto); typically -- * it has 1 or 2 -- * -- * @details_collection is typically a large list of apps in the -- * repository, on the order of 400 or 700 apps */ - source_ids = gs_app_get_source_ids (app); - for (j = 0; j < source_ids->len; j++) { - package_id = g_ptr_array_index (source_ids, j); -- details = g_hash_table_lookup (details_collection, package_id); -- if (details == NULL) -- continue; -- -- if (gs_app_get_license (app) == NULL) { -- g_autofree gchar *license_spdx = NULL; -- license_spdx = as_utils_license_to_spdx (pk_details_get_license (details)); -- if (license_spdx != NULL) { -- gs_app_set_license (app, -- GS_APP_QUALITY_LOWEST, -- license_spdx); -+ for (i = 0; i < array->len; i++) { -+ /* right package? */ -+ details = g_ptr_array_index (array, i); -+ if (!gs_pk_compare_ids (package_id, -+ pk_details_get_package_id (details))) { -+ continue; - } -+ if (gs_app_get_license (app) == NULL) { -+ g_autofree gchar *license_spdx = NULL; -+ license_spdx = as_utils_license_to_spdx (pk_details_get_license (details)); -+ if (license_spdx != NULL) { -+ gs_app_set_license (app, -+ GS_APP_QUALITY_LOWEST, -+ license_spdx); -+ } -+ } -+ if (gs_app_get_url (app, AS_URL_KIND_HOMEPAGE) == NULL) { -+ gs_app_set_url (app, -+ AS_URL_KIND_HOMEPAGE, -+ pk_details_get_url (details)); -+ } -+ if (gs_app_get_description (app) == NULL) { -+ gs_app_set_description (app, -+ GS_APP_QUALITY_LOWEST, -+ pk_details_get_description (details)); -+ } -+ size += pk_details_get_size (details); -+ break; - } -- if (gs_app_get_url (app, AS_URL_KIND_HOMEPAGE) == NULL) { -- gs_app_set_url (app, -- AS_URL_KIND_HOMEPAGE, -- pk_details_get_url (details)); -- } -- if (gs_app_get_description (app) == NULL) { -- gs_app_set_description (app, -- GS_APP_QUALITY_LOWEST, -- pk_details_get_description (details)); -- } -- size += pk_details_get_size (details); - } - - /* the size is the size of all sources */ -diff --git a/plugins/packagekit/packagekit-common.h b/plugins/packagekit/packagekit-common.h -index 9f523684..0742ea3a 100644 ---- a/plugins/packagekit/packagekit-common.h -+++ b/plugins/packagekit/packagekit-common.h -@@ -30,9 +30,8 @@ void gs_plugin_packagekit_resolve_packages_app (GsPlugin *plugin, - void gs_plugin_packagekit_set_metadata_from_package (GsPlugin *plugin, - GsApp *app, - PkPackage *package); --GHashTable * gs_plugin_packagekit_details_array_to_hash (GPtrArray *array); - void gs_plugin_packagekit_refine_details_app (GsPlugin *plugin, -- GHashTable *details_collection, -+ GPtrArray *array, - GsApp *app); - void gs_plugin_packagekit_set_packaging_format (GsPlugin *plugin, - GsApp *app); --- -2.26.2 - diff --git a/0001-gs-plugin-loader-Reset-online-updates-timestamp-only.patch b/0001-gs-plugin-loader-Reset-online-updates-timestamp-only.patch deleted file mode 100644 index 94e4b57..0000000 --- a/0001-gs-plugin-loader-Reset-online-updates-timestamp-only.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9a48a04d180f9d3e988efe761cee7bfd9bea79dd Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Fri, 5 Mar 2021 13:34:40 +0100 -Subject: [PATCH] gs-plugin-loader: Reset online-updates-timestamp only when - did the update - -The gs_plugin_loader_generic_update() is used in two cases, when updating -the software and when downloading the software. The former case can reset -the online-updates-timestamp, but the later not, because it did not -update anything. - -This blocks the update notifications from showing up after the first -run of the Software. ---- - lib/gs-plugin-loader.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c -index 2dad71f86..358cb8439 100644 ---- a/lib/gs-plugin-loader.c -+++ b/lib/gs-plugin-loader.c -@@ -3124,7 +3124,9 @@ gs_plugin_loader_generic_update (GsPluginLoader *plugin_loader, - gs_plugin_status_update (plugin, NULL, GS_PLUGIN_STATUS_FINISHED); - } - -- gs_utils_set_online_updates_timestamp (plugin_loader->settings); -+ if (gs_plugin_job_get_action (helper->plugin_job) == GS_PLUGIN_ACTION_UPDATE) -+ gs_utils_set_online_updates_timestamp (plugin_loader->settings); -+ - return TRUE; - } - --- -2.30.1 - diff --git a/gnome-software.spec b/gnome-software.spec index 8c1496f..ed4882c 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,17 +11,13 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-software -Version: 40~beta -Release: 2%{?dist} +Version: 40~rc +Release: 1%{?dist} Summary: A software center for GNOME License: GPLv2+ URL: https://wiki.gnome.org/Apps/Software Source0: https://download.gnome.org/sources/gnome-software/40/%{name}-%{tarball_version}.tar.xz -# Fix update notifications: -# https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/643 -# https://bugzilla.redhat.com/show_bug.cgi?id=1930401 -Patch0: 0001-gs-plugin-loader-Reset-online-updates-timestamp-only.patch BuildRequires: appstream-devel >= %{appstream_version} BuildRequires: gcc @@ -75,7 +71,7 @@ Obsoletes: gnome-software-snap < 3.33.1 Obsoletes: gnome-software-editor < 3.35.1 # this is not a library version -%define gs_plugin_version 14 +%define gs_plugin_version 16 %description gnome-software is an application that makes it easy to add, remove @@ -119,10 +115,7 @@ This package includes the rpm-ostree backend. %meson_install # remove unneeded dpkg plugin -rm %{buildroot}%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_dpkg.so - -# remove unneeded static library -rm %{buildroot}%{_libdir}/libgnomesoftware.a +rm %{buildroot}%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dpkg.so # make the software center load faster desktop-file-edit %{buildroot}%{_datadir}/applications/org.gnome.Software.desktop \ @@ -150,44 +143,43 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_mandir}/man1/gnome-software.1.gz %{_datadir}/icons/hicolor/*/apps/org.gnome.Software.svg %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Software-symbolic.svg +%{_datadir}/icons/hicolor/scalable/actions/carousel-arrow-next-symbolic.svg +%{_datadir}/icons/hicolor/scalable/actions/carousel-arrow-previous-symbolic.svg %{_datadir}/icons/hicolor/scalable/status/software-installed-symbolic.svg -%{_datadir}/gnome-software/featured-*.svg -%{_datadir}/gnome-software/featured-*.jpg %{_datadir}/metainfo/org.gnome.Software.appdata.xml %{_datadir}/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml %{_datadir}/metainfo/org.gnome.Software.Plugin.Fwupd.metainfo.xml %{_datadir}/metainfo/org.gnome.Software.Plugin.Odrs.metainfo.xml -%dir %{_libdir}/gs-plugins-%{gs_plugin_version} -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_appstream.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_dummy.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fedora-langpacks.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fedora-pkgdb-collections.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_flatpak.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_fwupd.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_generic-updates.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-blocklist.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-popular.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_icons.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_key-colors-metadata.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_key-colors.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_modalias.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_odrs.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_os-release.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-history.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-local.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-offline.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-proxy.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine-repos.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refresh.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-upgrade.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit-url-to-app.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_packagekit.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_provenance-license.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_provenance.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_repos.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_rewrite-resource.so -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_systemd-updates.so +%dir %{_libdir}/gnome-software/plugins-%{gs_plugin_version} +%{_libdir}/gnome-software/libgnomesoftware.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_appstream.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_dummy.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fedora-langpacks.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fedora-pkgdb-collections.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_flatpak.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_fwupd.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_generic-updates.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-blocklist.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_hardcoded-popular.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_icons.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_modalias.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_odrs.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_os-release.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-history.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-local.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-offline.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-proxy.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine-repos.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refresh.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-upgrade.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-url-to-app.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_provenance-license.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_provenance.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_repos.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_rewrite-resource.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_systemd-updates.so %{_sysconfdir}/xdg/autostart/gnome-software-service.desktop %{_datadir}/app-info/xmls/org.gnome.Software.Featured.xml %{_datadir}/dbus-1/services/org.freedesktop.PackageKit.service @@ -199,7 +191,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_libexecdir}/gnome-software-restarter %files rpm-ostree -%{_libdir}/gs-plugins-%{gs_plugin_version}/libgs_plugin_rpm-ostree.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_rpm-ostree.so %files devel %{_libdir}/pkgconfig/gnome-software.pc @@ -208,6 +200,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Mon Mar 15 2021 Kalev Lember - 40~rc-1 +- Update to 40.rc + * Wed Mar 10 2021 Adam Williamson - 40~beta-2 - Backport MR #643 to fix update notifications on first run (#1930401) diff --git a/sources b/sources index 7728ce9..f95cf36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-software-40.beta.tar.xz) = 39edf94a3091b8c6e00925cf4e5fab929fbd5166ab35caf247415753bbae8c6ea0df51a80fa2fa7ba35ca64d5b7ce44359b9a451c7f6f3424e1716ed8b493dd4 +SHA512 (gnome-software-40.rc.tar.xz) = caea26e84641f5db9dbacdec32e9f2039433e60fbb4548f48a33958eb1bd61415ab35e515100b29cb98a655bcf40ee8e2ea3cee4dd80d3777c2a81cf33848f8a