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-app-Add-additional-icon-debug-information.patch b/0001-gs-app-Add-additional-icon-debug-information.patch new file mode 100644 index 0000000..a881ab0 --- /dev/null +++ b/0001-gs-app-Add-additional-icon-debug-information.patch @@ -0,0 +1,32 @@ +From 81a2e01d407fc903a83b4c1a82749d2591397240 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 16 Mar 2021 13:33:40 +0000 +Subject: [PATCH 1/4] gs-app: Add additional icon debug information + +Signed-off-by: Philip Withnall +--- + lib/gs-app.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/lib/gs-app.c b/lib/gs-app.c +index 771743330..cb2549d4c 100644 +--- a/lib/gs-app.c ++++ b/lib/gs-app.c +@@ -1828,11 +1828,12 @@ gs_app_get_icon_for_size (GsApp *app, + * lazily created. */ + for (guint i = 0; priv->icons != NULL && i < priv->icons->len; i++) { + GIcon *icon = priv->icons->pdata[i]; ++ g_autofree gchar *icon_str = g_icon_to_string (icon); + guint icon_width = gs_icon_get_width (icon); + guint icon_scale = gs_icon_get_scale (icon); + +- g_debug ("\tConsidering icon of type %s, width %u×%u", +- G_OBJECT_TYPE_NAME (icon), icon_width, icon_scale); ++ g_debug ("\tConsidering icon of type %s (%s), width %u×%u", ++ G_OBJECT_TYPE_NAME (icon), icon_str, icon_width, icon_scale); + + /* Ignore icons with unknown width and skip over ones which + * are too small. */ +-- +2.30.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/0002-gs-appstream-Fix-handling-of-icons-where-appdata-doe.patch b/0002-gs-appstream-Fix-handling-of-icons-where-appdata-doe.patch new file mode 100644 index 0000000..333baa8 --- /dev/null +++ b/0002-gs-appstream-Fix-handling-of-icons-where-appdata-doe.patch @@ -0,0 +1,48 @@ +From 9a63168893a678f97fe6e3bfde2d6e5debf151c3 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 16 Mar 2021 13:34:13 +0000 +Subject: [PATCH 2/4] =?UTF-8?q?gs-appstream:=20Fix=20handling=20of=20icons?= + =?UTF-8?q?=20where=20appdata=20doesn=E2=80=99t=20specify=20width?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If the `` element in the appdata doesn’t specify a `width` +attribute, `xb_node_get_attr_as_uint()` will return `G_MAXUINT64`. +However, its return value was being assigned to `sz`, which is a +`guint`, and hence it was being truncated. This resulted in icons having +their widths set to `G_MAXUINT`, and hence being prioritised for display +when that was not necessarily correct. + +Fix that by explicitly handling the failure response from +`xb_node_get_attr_as_uint()`. + +Signed-off-by: Philip Withnall + +Fixes: #1171 +--- + plugins/core/gs-appstream.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/plugins/core/gs-appstream.c b/plugins/core/gs-appstream.c +index a9cf97270..22fed1154 100644 +--- a/plugins/core/gs-appstream.c ++++ b/plugins/core/gs-appstream.c +@@ -149,8 +149,12 @@ gs_appstream_new_icon (XbNode *component, XbNode *n, AsIconKind icon_kind, guint + default: + as_icon_set_name (icon, xb_node_get_text (n)); + } +- if (sz == 0) +- sz = xb_node_get_attr_as_uint (n, "width"); ++ if (sz == 0) { ++ guint64 width = xb_node_get_attr_as_uint (n, "width"); ++ if (width > 0 && width < G_MAXUINT) ++ sz = width; ++ } ++ + if (sz > 0) { + as_icon_set_width (icon, sz); + as_icon_set_height (icon, sz); +-- +2.30.2 + diff --git a/0003-gs-icon-Work-around-invalid-icon-names-from-some-app.patch b/0003-gs-icon-Work-around-invalid-icon-names-from-some-app.patch new file mode 100644 index 0000000..bca178b --- /dev/null +++ b/0003-gs-icon-Work-around-invalid-icon-names-from-some-app.patch @@ -0,0 +1,61 @@ +From 3e86354cc5ccffc5ef27fa9e5ce2e99e3e60bc8c Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 16 Mar 2021 13:36:23 +0000 +Subject: [PATCH 3/4] gs-icon: Work around invalid icon names from some + appstream files +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Cached icons are supposed to provide a name (like `krita.png`), `width` +and `height` attributes, and then gnome-software can build the path to +the cached icon file according to +https://www.freedesktop.org/software/appstream/docs/sect-AppStream-IconCache.html#spec-iconcache-location. + +Due to a bug in appstream-builder in appstream-glib +(https://github.com/hughsie/appstream-glib/pull/390), some appstream +files – for example, rpmfusion-free-33 – had invalid cached icon names, +which resulted in those icons not being loadable, and not appearing for +their applications. + +As it may take a while for the fix in appstream-builder to be merged and +be used to regenerate all the appstream files for different app +repositories, add a workaround in gnome-software. + +Signed-off-by: Philip Withnall + +Helps: #1171 +--- + lib/gs-icon.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/lib/gs-icon.c b/lib/gs-icon.c +index a88e62d34..955ab0217 100644 +--- a/lib/gs-icon.c ++++ b/lib/gs-icon.c +@@ -200,12 +200,22 @@ gs_icon_load_cached (AsIcon *icon) + { + const gchar *filename = as_icon_get_filename (icon); + const gchar *name = as_icon_get_name (icon); ++ g_autofree gchar *name_allocated = NULL; + g_autofree gchar *full_filename = NULL; + g_autoptr(GFile) file = NULL; + + if (filename == NULL || name == NULL) + return NULL; + ++ /* FIXME: Work around https://github.com/hughsie/appstream-glib/pull/390 ++ * where appstream files generated with appstream-builder from ++ * appstream-glib, with its hidpi option enabled, will contain an ++ * unnecessary size subdirectory in the icon name. */ ++ if (g_str_has_prefix (name, "64x64/")) ++ name = name_allocated = g_strdup (name + strlen ("64x64/")); ++ else if (g_str_has_prefix (name, "128x128/")) ++ name = name_allocated = g_strdup (name + strlen ("128x128/")); ++ + if (!g_str_has_suffix (filename, name)) { + /* Spec: https://www.freedesktop.org/software/appstream/docs/sect-AppStream-IconCache.html#spec-iconcache-location */ + if (as_icon_get_scale (icon) <= 1) { +-- +2.30.2 + diff --git a/0004-gs-shell-search-provider-Fix-crash-in-variant-handli.patch b/0004-gs-shell-search-provider-Fix-crash-in-variant-handli.patch new file mode 100644 index 0000000..b83d396 --- /dev/null +++ b/0004-gs-shell-search-provider-Fix-crash-in-variant-handli.patch @@ -0,0 +1,29 @@ +From 80834ed7d336f103cfc7199fa96c6f2a860be438 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 18 Mar 2021 13:11:36 +0000 +Subject: [PATCH 4/4] gs-shell-search-provider: Fix crash in variant handling + for icons + +Signed-off-by: Philip Withnall + +Fixes: #1179 +--- + src/gs-shell-search-provider.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gs-shell-search-provider.c b/src/gs-shell-search-provider.c +index 8bafc9a8c..27bbb45f7 100644 +--- a/src/gs-shell-search-provider.c ++++ b/src/gs-shell-search-provider.c +@@ -254,7 +254,7 @@ handle_get_result_metas (GsShellSearchProvider2 *skeleton, + if (icon != NULL) { + g_autofree gchar *icon_str = g_icon_to_string (icon); + if (icon_str != NULL) { +- g_variant_builder_add (&meta, "{sv}", "gicon", icon_str); ++ g_variant_builder_add (&meta, "{sv}", "gicon", g_variant_new_string (icon_str)); + } else { + g_autoptr(GVariant) icon_serialized = g_icon_serialize (icon); + g_variant_builder_add (&meta, "{sv}", "icon", icon_serialized); +-- +2.30.2 + diff --git a/gnome-software.spec b/gnome-software.spec index 8c1496f..3c13a51 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,17 +11,24 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-software -Version: 40~beta +Version: 40~rc Release: 2%{?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 + +# Fix display of icons for packages and snaps +# https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1171 +# https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/653 +Patch0001: 0001-gs-app-Add-additional-icon-debug-information.patch +Patch0002: 0002-gs-appstream-Fix-handling-of-icons-where-appdata-doe.patch +Patch0003: 0003-gs-icon-Work-around-invalid-icon-names-from-some-app.patch +# Fix crash that sometimes breaks search provider or stops window appearing +# https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1179 +# https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/658 +Patch0004: 0004-gs-shell-search-provider-Fix-crash-in-variant-handli.patch BuildRequires: appstream-devel >= %{appstream_version} BuildRequires: gcc @@ -75,7 +82,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 +126,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 +154,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 +202,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 +211,12 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Thu Mar 18 2021 Adam Williamson - 40~rc-2 +- Backport a couple of bug fixes from upstream (icon display, crash bug) + +* 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