diff --git a/.gitignore b/.gitignore index 3aae75a..faebe3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,119 +1,2 @@ -/gnome-software-0.1.tar.xz -/gnome-software-3.9.1.tar.xz -/gnome-software-3.9.2.tar.xz -/gnome-software-3.9.3.tar.xz -/fedora-20.xml.gz -/fedora-20-icons.tar.gz -/gnome-software-3.10.0.tar.xz -/gnome-software-3.11.1.tar.xz -/fedora-20-codecs.xml -/web-apps.xml -/gnome-software-3.11.2.tar.xz -/gnome-software-3.11.3.tar.xz -/gnome-software-3.11.4.tar.xz -/fedora-rawhide-icons.tar.gz -/fedora-rawhide.xml.gz -/gnome-software-3.11.5.tar.xz -/gnome-software-3.11.90.tar.xz -/gnome-software-3.11.91.tar.xz -/gnome-software-3.11.92.tar.xz -/gnome-software-3.12.0.tar.xz -/gnome-software-3.12.1.tar.xz -/gnome-software-3.13.1.tar.xz -/fedora-21-icons.tar.gz -/fedora-21.xml.gz -/gnome-software-3.13.2.tar.xz -/gnome-software-3.13.3-7491627.tar.xz -/gnome-software-3.13.3.tar.xz -/gnome-software-3.13.4.tar.xz -/gnome-software-3.13.5-5c89189.tar.xz -/gnome-software-3.13.90.tar.xz -/gnome-software-3.13.91.tar.xz -/gnome-software-3.13.92.tar.xz -/gnome-software-3.14.0.tar.xz -/gnome-software-3.14.1.tar.xz -/gnome-software-3.14.2.tar.xz -/gnome-software-3.15.2.tar.xz -/gnome-software-3.15.4.tar.xz -/gnome-software-3.15.90.tar.xz -/gnome-software-3.15.91.tar.xz -/gnome-software-3.15.92.tar.xz -/gnome-software-3.16.0.tar.xz -/gnome-software-3.16.1.tar.xz -/gnome-software-3.16.2.tar.xz -/gnome-software-3.17.1.tar.xz -/gnome-software-3.17.2.tar.xz -/gnome-software-3.17.3.tar.xz -/gnome-software-3.17.90.tar.xz -/gnome-software-3.17.91.tar.xz -/gnome-software-3.17.92.tar.xz -/gnome-software-3.18.0.tar.xz -/gnome-software-3.18.1.tar.xz -/gnome-software-3.18.2.tar.xz -/gnome-software-3.18.3.tar.xz -/gnome-software-3.19.4.tar.xz -/gnome-software-3.19.90.tar.xz -/gnome-software-3.19.91.tar.xz -/gnome-software-3.19.92.tar.xz -/gnome-software-3.20.0.tar.xz -/gnome-software-3.20.1.tar.xz -/gnome-software-3.20.2.tar.xz -/gnome-software-3.21.1.tar.xz -/gnome-software-3.21.2.tar.xz -/gnome-software-3.21.4.tar.xz -/gnome-software-3.21.90.tar.xz -/gnome-software-3.21.91.tar.xz -/gnome-software-3.21.92.tar.xz -/gnome-software-3.22.0.tar.xz -/gnome-software-3.22.1.tar.xz -/gnome-software-3.22.2.tar.xz -/gnome-software-3.23.2.tar.xz -/gnome-software-3.23.3.tar.xz -/gnome-software-3.23.90.tar.xz -/gnome-software-3.23.91.tar.xz -/gnome-software-3.23.92.tar.xz -/gnome-software-3.24.0.tar.xz -/gnome-software-3.24.1.tar.xz -/gnome-software-3.24.2.tar.xz -/gnome-software-3.24.3.tar.xz -/gnome-software-3.25.3.tar.xz -/gnome-software-3.25.4.tar.xz -/gnome-software-3.25.90.tar.xz -/gnome-software-3.25.91.tar.xz -/gnome-software-3.26.0.tar.xz -/gnome-software-3.26.1.tar.xz -/gnome-software-3.26.2.tar.xz -/gnome-software-3.27.2.tar.xz -/gnome-software-3.27.3.tar.xz -/gnome-software-3.27.4.tar.xz -/gnome-software-3.27.90.tar.xz -/gnome-software-3.27.92.tar.xz -/gnome-software-3.28.0.tar.xz -/gnome-software-3.28.1.tar.xz -/gnome-software-3.29.1.tar.xz -/gnome-software-3.29.92.tar.xz -/gnome-software-3.30.0.tar.xz -/gnome-software-3.30.1.tar.xz -/gnome-software-3.30.2.tar.xz -/gnome-software-3.31.1.tar.xz -/gnome-software-3.31.2.tar.xz -/gnome-software-3.31.90.tar.xz -/gnome-software-3.31.92.tar.xz -/gnome-software-3.32.0.tar.xz -/gnome-software-3.32.1.tar.xz -/gnome-software-3.32.2.tar.xz -/gnome-software-3.32.3.tar.xz -/gnome-software-3.32.4.tar.xz -/gnome-software-3.34.0.tar.xz -/gnome-software-3.34.1.tar.xz -/gnome-software-3.35.2.tar.xz -/gnome-software-3.35.91.tar.xz -/gnome-software-3.35.92.tar.xz -/gnome-software-3.36.0.tar.xz -/gnome-software-3.36.1.tar.xz -/gnome-software-3.37.92.tar.xz -/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 -/gnome-software-40.0.tar.xz +/gnome-software-*.tar.xz +/f35.png diff --git a/0001-crash-with-broken-theme.patch b/0001-crash-with-broken-theme.patch new file mode 100644 index 0000000..fd37e80 --- /dev/null +++ b/0001-crash-with-broken-theme.patch @@ -0,0 +1,48 @@ +From 3a644c151f27f439c36170f0958fd21cf1cc54d0 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Thu, 3 Jun 2021 08:33:53 +0200 +Subject: [PATCH] gs-feature-tile: Do not abort when the theme is broken + +Just print a warning when the theme doesn't provide 'theme_fg_color' and +fallback to black color. + +Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1228 +--- + src/gs-feature-tile.c | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/src/gs-feature-tile.c b/src/gs-feature-tile.c +index 1c85083eb..158af1e56 100644 +--- a/src/gs-feature-tile.c ++++ b/src/gs-feature-tile.c +@@ -268,7 +268,6 @@ gs_feature_tile_refresh (GsAppTile *self) + if (key_colors != tile->key_colors_cache) { + g_autoptr(GArray) colors = NULL; + GdkRGBA fg_rgba; +- gboolean fg_rgba_valid; + GsHSBC fg_hsbc; + + /* Look up the foreground colour for the feature tile, +@@ -283,8 +282,17 @@ gs_feature_tile_refresh (GsAppTile *self) + * @min_abs_contrast contrast with the foreground, so + * that the text is legible. + */ +- fg_rgba_valid = gtk_style_context_lookup_color (context, "theme_fg_color", &fg_rgba); +- g_assert (fg_rgba_valid); ++ if (!gtk_style_context_lookup_color (context, "theme_fg_color", &fg_rgba)) { ++ static gboolean i_know = FALSE; ++ if (!i_know) { ++ i_know = TRUE; ++ g_warning ("The theme doesn't provide 'theme_fg_color', fallbacking to black"); ++ } ++ fg_rgba.red = 0.0; ++ fg_rgba.green = 0.0; ++ fg_rgba.blue = 0.0; ++ fg_rgba.alpha = 1.0; ++ } + + gtk_rgb_to_hsv (fg_rgba.red, fg_rgba.green, fg_rgba.blue, + &fg_hsbc.hue, &fg_hsbc.saturation, &fg_hsbc.brightness); +-- +GitLab + diff --git a/0001-fedora-linux-distro-name.patch b/0001-fedora-linux-distro-name.patch new file mode 100644 index 0000000..e8fb659 --- /dev/null +++ b/0001-fedora-linux-distro-name.patch @@ -0,0 +1,14 @@ +diff -up gnome-software-3.38.2/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c.fedora-linux-distro-name gnome-software-3.38.2/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c +--- gnome-software-3.38.2/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c.fedora-linux-distro-name 2021-09-01 11:16:33.570032158 +0200 ++++ gnome-software-3.38.2/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c 2021-09-01 11:18:08.091022774 +0200 +@@ -319,7 +319,9 @@ _is_valid_upgrade (GsPlugin *plugin, Pkg + GsPluginData *priv = gs_plugin_get_data (plugin); + + /* only interested in upgrades to the same distro */ +- if (g_strcmp0 (item->name, priv->os_name) != 0) ++ if (g_strcmp0 (item->name, priv->os_name) != 0 && ++ /* Fedora 35+ is renamed to "Fedora Linux" and there is no "id" in the collections/ yet */ ++ g_strcmp0 (item->name, "Fedora Linux") != 0) + return FALSE; + + /* only interested in newer versions, but not more than N+2 */ diff --git a/0002-packagekit-Ensure-PkClient-interactive-flag-being-se.patch b/0002-packagekit-Ensure-PkClient-interactive-flag-being-se.patch new file mode 100644 index 0000000..fd20c95 --- /dev/null +++ b/0002-packagekit-Ensure-PkClient-interactive-flag-being-se.patch @@ -0,0 +1,100 @@ +diff -up gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit.c.3 gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit.c +--- gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit.c.3 2021-08-13 18:05:48.056419100 +0200 ++++ gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit.c 2021-09-13 15:17:14.099810008 +0200 +@@ -335,6 +335,7 @@ gs_plugin_app_install (GsPlugin *plugin, + /* actually install the package */ + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->task_mutex); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_task_install_packages_sync (priv->task, + package_ids, + cancellable, +@@ -412,6 +413,7 @@ gs_plugin_app_install (GsPlugin *plugin, + } + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->task_mutex); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_task_install_packages_sync (priv->task, + (gchar **) array_package_ids->pdata, + cancellable, +@@ -441,6 +443,7 @@ gs_plugin_app_install (GsPlugin *plugin, + gs_app_set_state (app, GS_APP_STATE_INSTALLING); + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->task_mutex); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_task_install_files_sync (priv->task, + package_ids, + cancellable, +@@ -571,6 +574,7 @@ gs_plugin_app_remove (GsPlugin *plugin, + gs_app_set_state (app, GS_APP_STATE_REMOVING); + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->task_mutex); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_task_remove_packages_sync (priv->task, + package_ids, + TRUE, GS_PACKAGEKIT_AUTOREMOVE, +diff -up gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-local.c.3 gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-local.c +--- gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-local.c.3 2021-09-13 15:19:39.444893063 +0200 ++++ gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-local.c 2021-09-13 15:19:43.456895355 +0200 +@@ -59,6 +59,7 @@ gs_plugin_packagekit_refresh_guess_app_i + files = g_strsplit (filename, "\t", -1); + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->task_mutex); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_get_files_local (PK_CLIENT (priv->task), + files, + cancellable, +diff -up gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refine.c.3 gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refine.c +--- gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refine.c.3 2021-09-13 15:20:12.020911680 +0200 ++++ gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refine.c 2021-09-13 15:20:46.033931117 +0200 +@@ -123,6 +123,7 @@ gs_plugin_packagekit_resolve_packages_wi + + /* resolve them all at once */ + g_mutex_lock (&priv->client_mutex); ++ pk_client_set_interactive (priv->client, gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_resolve (priv->client, + filter, + (gchar **) package_ids->pdata, +@@ -214,6 +215,7 @@ gs_plugin_packagekit_refine_from_desktop + to_array[0] = filename; + gs_packagekit_helper_add_app (helper, app); + g_mutex_lock (&priv->client_mutex); ++ pk_client_set_interactive (priv->client, gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_search_files (priv->client, + pk_bitfield_from_enums (PK_FILTER_ENUM_INSTALLED, -1), + (gchar **) to_array, +@@ -297,6 +299,7 @@ gs_plugin_packagekit_refine_updatedetail + + /* get any update details */ + g_mutex_lock (&priv->client_mutex); ++ pk_client_set_interactive (priv->client, gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_get_update_detail (priv->client, + (gchar **) package_ids, + cancellable, +@@ -363,6 +366,7 @@ gs_plugin_packagekit_refine_details2 (Gs + + /* get any details */ + g_mutex_lock (&priv->client_mutex); ++ pk_client_set_interactive (priv->client, gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_get_details (priv->client, + (gchar **) package_ids->pdata, + cancellable, +@@ -415,6 +419,7 @@ gs_plugin_packagekit_refine_update_urgen + /* get the list of updates */ + filter = pk_bitfield_value (PK_FILTER_ENUM_NONE); + g_mutex_lock (&priv->client_mutex); ++ pk_client_set_interactive (priv->client, gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results = pk_client_get_updates (priv->client, + filter, + cancellable, +diff -up gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refresh.c.3 gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refresh.c +--- gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refresh.c.3 2021-08-13 18:05:48.055419200 +0200 ++++ gnome-software-40.4/plugins/packagekit/gs-plugin-packagekit-refresh.c 2021-09-13 15:17:14.099810008 +0200 +@@ -94,6 +94,7 @@ _download_only (GsPlugin *plugin, GsAppL + * we end up downloading a different set of packages than what was + * shown to the user */ + pk_client_set_cache_age (PK_CLIENT (priv->task), G_MAXUINT); ++ pk_client_set_interactive (PK_CLIENT (priv->task), gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)); + results2 = pk_task_update_packages_sync (priv->task, + package_ids, + cancellable, diff --git a/gnome-software.spec b/gnome-software.spec index 7f439c2..59d530e 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,13 +11,19 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-software -Version: 40.0 -Release: 2%{?dist} +Version: 40.4 +Release: 4%{?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 +# Resized and cropped /usr/share/backgrounds/f35/default/f35.png from f35-backgrounds-base +Source1: f35.png + +Patch01: 0001-crash-with-broken-theme.patch +Patch02: 0001-fedora-linux-distro-name.patch +Patch03: 0002-packagekit-Ensure-PkClient-interactive-flag-being-se.patch BuildRequires: appstream-devel >= %{appstream_version} BuildRequires: gcc @@ -127,6 +133,10 @@ cat >> %{buildroot}%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschem official-repos = [ 'anaconda', 'fedora', 'fedora-debuginfo', 'fedora-source', 'koji-override-0', 'koji-override-1', 'rawhide', 'rawhide-debuginfo', 'rawhide-source', 'updates', 'updates-debuginfo', 'updates-source', 'updates-testing', 'updates-testing-debuginfo', 'updates-testing-source', 'fedora-modular', 'fedora-modular-debuginfo', 'fedora-modular-source', 'rawhide-modular', 'rawhide-modular-debuginfo', 'rawhide-modular-source' ] FOE +# Install upgrade background image +mkdir -p %{buildroot}%{_datadir}/gnome-software/backgrounds +cp -a %{SOURCE1} %{buildroot}%{_datadir}/gnome-software/backgrounds/ + %find_lang %name --with-gnome %check @@ -140,6 +150,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/applications/org.gnome.Software.desktop %dir %{_datadir}/gnome-software %{_datadir}/gnome-software/*.png +%{_datadir}/gnome-software/backgrounds/ %{_mandir}/man1/gnome-software.1.gz %{_datadir}/icons/hicolor/*/apps/org.gnome.Software.svg %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Software-symbolic.svg @@ -200,6 +211,38 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Fri Oct 01 2021 Milan Crha - 40.4-4 +- Update artwork for F35 upgrades + +* Wed Sep 15 2021 Milan Crha - 40.4-3 +- Resolves: #2003365 (packagekit: Ensure PkClient::interactive flag being set) + +* Wed Sep 01 2021 Milan Crha - 40.4-2 +- Add artwork for F35 upgrades +- Add patch to recognize 'Fedora Linux' upgrades + +* Fri Aug 13 2021 Milan Crha - 40.4-1 +- Update to 40.4 + +* Mon Jul 12 2021 Milan Crha - 40.3-2 +- Add rpm-ostree patch to hide packages from the search results +- Add patch to implement what-provides search in the Flatpak plugin + +* Mon Jul 12 2021 Milan Crha - 40.3-1 +- Update to 40.3 + +* Wed Jun 23 2021 Milan Crha - 40.2-2 +- Add patch to automatically install application updates (i#1248) + +* Fri Jun 04 2021 Milan Crha - 40.2-1 +- Update to 40.2 + +* Mon May 03 2021 Milan Crha - 40.1-2 +- Add patch for crash under gs_details_page_refresh_all() (i#1227) + +* Mon May 03 2021 Milan Crha - 40.1-1 +- Update to 40.1 + * Fri Mar 26 2021 Kalev Lember - 40.0-2 - Rebuild to fix sysprof-capture symbols leaking into libraries consuming it diff --git a/sources b/sources index a8dc968..05694cc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (gnome-software-40.0.tar.xz) = 052c520ab25af4257bb978aaa9e1c7a555f8d24dbd782d9f12f3c3def22e65588d3c76d16e4b3dc26f034a762c2ee3e773026b158d468e9e169369dc3d156a2a +SHA512 (gnome-software-40.4.tar.xz) = 5ef7ad754cb161ad5e181dc9b189fe57066a92ebbe3a5871412b638896a02d6e9114e5fdce91e3225af990a580a1f534b936008ff3a2d50a59154406f055a3e7 +SHA512 (f35.png) = 371d301263015ce9edd2605aa893788632226e9e4c66b10b5c9f509ed47d5c945dbb51ee8c2bf01dbf56c1f9180227bef1b8566347ae6e02245453118c4d47a8