From ab9e89b661c1eaeb243f0e2080304f25d316cc58 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 21 Feb 2020 16:16:26 +0000 Subject: [PATCH 1/9] Backport a patch to fix a crash when looking at the application details --- ...ash-when-viewing-application-details.patch | 146 ++++++++++++++++++ gnome-software.spec | 8 +- 2 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 0001-Fix-crash-when-viewing-application-details.patch diff --git a/0001-Fix-crash-when-viewing-application-details.patch b/0001-Fix-crash-when-viewing-application-details.patch new file mode 100644 index 0000000..ec3962c --- /dev/null +++ b/0001-Fix-crash-when-viewing-application-details.patch @@ -0,0 +1,146 @@ +From 236a05e16c5880e47b1e52a3ece2f9d77b628b49 Mon Sep 17 00:00:00 2001 +From: Richard Hughes +Date: Fri, 21 Feb 2020 13:42:55 +0000 +Subject: [PATCH] Fix crash when viewing application details + +The code was creating an array of guint32 and reading back an array of gint +which caused a crazy histogram and an invalid read in some circumstances. + +Standardize to reading and writing a guint32 everywhere and make the code +somewhat simpler. + +Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/928 +--- + lib/gs-app.c | 8 +++--- + src/gs-details-page.c | 4 +-- + src/gs-review-histogram.c | 53 +++++++++++++++++++++------------------ + 3 files changed, 35 insertions(+), 30 deletions(-) + +diff --git a/lib/gs-app.c b/lib/gs-app.c +index b7830009..5bc93fd1 100644 +--- a/lib/gs-app.c ++++ b/lib/gs-app.c +@@ -580,8 +580,8 @@ gs_app_to_string_append (GsApp *app, GString *str) + gs_app_kv_printf (str, "rating", "%i", priv->rating); + if (priv->review_ratings != NULL) { + for (i = 0; i < priv->review_ratings->len; i++) { +- gint rat = g_array_index (priv->review_ratings, gint, i); +- gs_app_kv_printf (str, "review-rating", "[%u:%i]", ++ guint32 rat = g_array_index (priv->review_ratings, guint32, i); ++ gs_app_kv_printf (str, "review-rating", "[%u:%u]", + i, rat); + } + } +@@ -2881,7 +2881,7 @@ gs_app_set_rating (GsApp *app, gint rating) + * + * Gets the review ratings. + * +- * Returns: (element-type gint) (transfer none): a list ++ * Returns: (element-type guint32) (transfer none): a list + * + * Since: 3.22 + **/ +@@ -2896,7 +2896,7 @@ gs_app_get_review_ratings (GsApp *app) + /** + * gs_app_set_review_ratings: + * @app: a #GsApp +- * @review_ratings: (element-type gint): a list ++ * @review_ratings: (element-type guint32): a list + * + * Sets the review ratings. + * +diff --git a/src/gs-details-page.c b/src/gs-details-page.c +index 4dd88a1e..8eb07bd3 100644 +--- a/src/gs-details-page.c ++++ b/src/gs-details-page.c +@@ -1565,7 +1565,7 @@ gs_details_page_refresh_reviews (GsDetailsPage *self) + } + if (review_ratings != NULL) { + for (i = 0; i < review_ratings->len; i++) +- n_reviews += (guint) g_array_index (review_ratings, gint, i); ++ n_reviews += (guint) g_array_index (review_ratings, guint32, i); + } else if (gs_app_get_reviews (self->app) != NULL) { + n_reviews = gs_app_get_reviews (self->app)->len; + } +@@ -1574,7 +1574,7 @@ gs_details_page_refresh_reviews (GsDetailsPage *self) + /* enable appropriate widgets */ + gtk_widget_set_visible (self->star, show_reviews); + gtk_widget_set_visible (self->box_reviews, show_reviews); +- gtk_widget_set_visible (self->histogram, review_ratings != NULL); ++ gtk_widget_set_visible (self->histogram, review_ratings != NULL && review_ratings->len > 0); + gtk_widget_set_visible (self->label_review_count, n_reviews > 0); + + /* update the review label next to the star widget */ +diff --git a/src/gs-review-histogram.c b/src/gs-review-histogram.c +index bbd297c8..21455f55 100644 +--- a/src/gs-review-histogram.c ++++ b/src/gs-review-histogram.c +@@ -39,36 +39,41 @@ void + gs_review_histogram_set_ratings (GsReviewHistogram *histogram, + GArray *review_ratings) + { +- GsReviewHistogramPrivate *priv; +- gdouble max; +- gint count[5] = { 0, 0, 0, 0, 0 }; +- guint i; ++ GsReviewHistogramPrivate *priv = gs_review_histogram_get_instance_private (histogram); ++ gdouble fraction[6] = { 0.0f }; ++ guint32 max = 0; ++ guint32 total = 0; + + g_return_if_fail (GS_IS_REVIEW_HISTOGRAM (histogram)); +- priv = gs_review_histogram_get_instance_private (histogram); + +- /* Scale to maximum value */ +- for (max = 0, i = 0; i < review_ratings->len; i++) { +- gint c; ++ /* sanity check */ ++ if (review_ratings->len != 6) { ++ g_warning ("ratings data incorrect expected 012345"); ++ return; ++ } + +- c = g_array_index (review_ratings, gint, i); +- if (c > max) +- max = c; +- if (i > 0 && i < 6) +- count[i - 1] = c; ++ /* idx 0 is '0 stars' which we don't support in the UI */ ++ for (guint i = 1; i < review_ratings->len; i++) { ++ guint32 c = g_array_index (review_ratings, guint32, i); ++ max = MAX (c, max); ++ } ++ for (guint i = 1; i < review_ratings->len; i++) { ++ guint32 c = g_array_index (review_ratings, guint32, i); ++ fraction[i] = max > 0 ? (gdouble) c / (gdouble) max : 0.f; ++ total += c; + } + +- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar5), count[4] / max); +- set_label (priv->label_count5, count[4]); +- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar4), count[3] / max); +- set_label (priv->label_count4, count[3]); +- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar3), count[2] / max); +- set_label (priv->label_count3, count[2]); +- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar2), count[1] / max); +- set_label (priv->label_count2, count[1]); +- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar1), count[0] / max); +- set_label (priv->label_count1, count[0]); +- set_label (priv->label_total, count[0] + count[1] + count[2] + count[3] + count[4]); ++ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar5), fraction[5]); ++ set_label (priv->label_count5, g_array_index (review_ratings, guint, 5)); ++ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar4), fraction[4]); ++ set_label (priv->label_count4, g_array_index (review_ratings, guint, 4)); ++ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar3), fraction[3]); ++ set_label (priv->label_count3, g_array_index (review_ratings, guint, 3)); ++ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar2), fraction[2]); ++ set_label (priv->label_count2, g_array_index (review_ratings, guint, 2)); ++ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar1), fraction[1]); ++ set_label (priv->label_count1, g_array_index (review_ratings, guint, 1)); ++ set_label (priv->label_total, total); + } + + static void +-- +2.24.1 + diff --git a/gnome-software.spec b/gnome-software.spec index 827161b..e409132 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -12,13 +12,16 @@ Name: gnome-software Version: 3.35.91 -Release: 1%{?dist} +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/3.35/%{name}-%{version}.tar.xz +# already upstream +Patch0: 0001-Fix-crash-when-viewing-application-details.patch + BuildRequires: gcc BuildRequires: gettext BuildRequires: libxslt @@ -203,6 +206,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Fri Feb 21 2020 Richard Hughes - 3.35.91-2 +- Backport a patch to fix a crash when looking at the application details. + * Wed Feb 19 2020 Richard Hughes - 3.35.91-1 - Update to 3.35.91. From dcfe0693eb7715be99d119207f13bc155fa7f5b3 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 4 Mar 2020 15:23:46 +0100 Subject: [PATCH 2/9] Update to 3.35.92 --- .gitignore | 1 + ...ash-when-viewing-application-details.patch | 146 ------------------ gnome-software.spec | 10 +- sources | 2 +- 4 files changed, 7 insertions(+), 152 deletions(-) delete mode 100644 0001-Fix-crash-when-viewing-application-details.patch diff --git a/.gitignore b/.gitignore index d4bab8a..441ea94 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,4 @@ /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 diff --git a/0001-Fix-crash-when-viewing-application-details.patch b/0001-Fix-crash-when-viewing-application-details.patch deleted file mode 100644 index ec3962c..0000000 --- a/0001-Fix-crash-when-viewing-application-details.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 236a05e16c5880e47b1e52a3ece2f9d77b628b49 Mon Sep 17 00:00:00 2001 -From: Richard Hughes -Date: Fri, 21 Feb 2020 13:42:55 +0000 -Subject: [PATCH] Fix crash when viewing application details - -The code was creating an array of guint32 and reading back an array of gint -which caused a crazy histogram and an invalid read in some circumstances. - -Standardize to reading and writing a guint32 everywhere and make the code -somewhat simpler. - -Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/928 ---- - lib/gs-app.c | 8 +++--- - src/gs-details-page.c | 4 +-- - src/gs-review-histogram.c | 53 +++++++++++++++++++++------------------ - 3 files changed, 35 insertions(+), 30 deletions(-) - -diff --git a/lib/gs-app.c b/lib/gs-app.c -index b7830009..5bc93fd1 100644 ---- a/lib/gs-app.c -+++ b/lib/gs-app.c -@@ -580,8 +580,8 @@ gs_app_to_string_append (GsApp *app, GString *str) - gs_app_kv_printf (str, "rating", "%i", priv->rating); - if (priv->review_ratings != NULL) { - for (i = 0; i < priv->review_ratings->len; i++) { -- gint rat = g_array_index (priv->review_ratings, gint, i); -- gs_app_kv_printf (str, "review-rating", "[%u:%i]", -+ guint32 rat = g_array_index (priv->review_ratings, guint32, i); -+ gs_app_kv_printf (str, "review-rating", "[%u:%u]", - i, rat); - } - } -@@ -2881,7 +2881,7 @@ gs_app_set_rating (GsApp *app, gint rating) - * - * Gets the review ratings. - * -- * Returns: (element-type gint) (transfer none): a list -+ * Returns: (element-type guint32) (transfer none): a list - * - * Since: 3.22 - **/ -@@ -2896,7 +2896,7 @@ gs_app_get_review_ratings (GsApp *app) - /** - * gs_app_set_review_ratings: - * @app: a #GsApp -- * @review_ratings: (element-type gint): a list -+ * @review_ratings: (element-type guint32): a list - * - * Sets the review ratings. - * -diff --git a/src/gs-details-page.c b/src/gs-details-page.c -index 4dd88a1e..8eb07bd3 100644 ---- a/src/gs-details-page.c -+++ b/src/gs-details-page.c -@@ -1565,7 +1565,7 @@ gs_details_page_refresh_reviews (GsDetailsPage *self) - } - if (review_ratings != NULL) { - for (i = 0; i < review_ratings->len; i++) -- n_reviews += (guint) g_array_index (review_ratings, gint, i); -+ n_reviews += (guint) g_array_index (review_ratings, guint32, i); - } else if (gs_app_get_reviews (self->app) != NULL) { - n_reviews = gs_app_get_reviews (self->app)->len; - } -@@ -1574,7 +1574,7 @@ gs_details_page_refresh_reviews (GsDetailsPage *self) - /* enable appropriate widgets */ - gtk_widget_set_visible (self->star, show_reviews); - gtk_widget_set_visible (self->box_reviews, show_reviews); -- gtk_widget_set_visible (self->histogram, review_ratings != NULL); -+ gtk_widget_set_visible (self->histogram, review_ratings != NULL && review_ratings->len > 0); - gtk_widget_set_visible (self->label_review_count, n_reviews > 0); - - /* update the review label next to the star widget */ -diff --git a/src/gs-review-histogram.c b/src/gs-review-histogram.c -index bbd297c8..21455f55 100644 ---- a/src/gs-review-histogram.c -+++ b/src/gs-review-histogram.c -@@ -39,36 +39,41 @@ void - gs_review_histogram_set_ratings (GsReviewHistogram *histogram, - GArray *review_ratings) - { -- GsReviewHistogramPrivate *priv; -- gdouble max; -- gint count[5] = { 0, 0, 0, 0, 0 }; -- guint i; -+ GsReviewHistogramPrivate *priv = gs_review_histogram_get_instance_private (histogram); -+ gdouble fraction[6] = { 0.0f }; -+ guint32 max = 0; -+ guint32 total = 0; - - g_return_if_fail (GS_IS_REVIEW_HISTOGRAM (histogram)); -- priv = gs_review_histogram_get_instance_private (histogram); - -- /* Scale to maximum value */ -- for (max = 0, i = 0; i < review_ratings->len; i++) { -- gint c; -+ /* sanity check */ -+ if (review_ratings->len != 6) { -+ g_warning ("ratings data incorrect expected 012345"); -+ return; -+ } - -- c = g_array_index (review_ratings, gint, i); -- if (c > max) -- max = c; -- if (i > 0 && i < 6) -- count[i - 1] = c; -+ /* idx 0 is '0 stars' which we don't support in the UI */ -+ for (guint i = 1; i < review_ratings->len; i++) { -+ guint32 c = g_array_index (review_ratings, guint32, i); -+ max = MAX (c, max); -+ } -+ for (guint i = 1; i < review_ratings->len; i++) { -+ guint32 c = g_array_index (review_ratings, guint32, i); -+ fraction[i] = max > 0 ? (gdouble) c / (gdouble) max : 0.f; -+ total += c; - } - -- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar5), count[4] / max); -- set_label (priv->label_count5, count[4]); -- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar4), count[3] / max); -- set_label (priv->label_count4, count[3]); -- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar3), count[2] / max); -- set_label (priv->label_count3, count[2]); -- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar2), count[1] / max); -- set_label (priv->label_count2, count[1]); -- gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar1), count[0] / max); -- set_label (priv->label_count1, count[0]); -- set_label (priv->label_total, count[0] + count[1] + count[2] + count[3] + count[4]); -+ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar5), fraction[5]); -+ set_label (priv->label_count5, g_array_index (review_ratings, guint, 5)); -+ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar4), fraction[4]); -+ set_label (priv->label_count4, g_array_index (review_ratings, guint, 4)); -+ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar3), fraction[3]); -+ set_label (priv->label_count3, g_array_index (review_ratings, guint, 3)); -+ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar2), fraction[2]); -+ set_label (priv->label_count2, g_array_index (review_ratings, guint, 2)); -+ gs_review_bar_set_fraction (GS_REVIEW_BAR (priv->bar1), fraction[1]); -+ set_label (priv->label_count1, g_array_index (review_ratings, guint, 1)); -+ set_label (priv->label_total, total); - } - - static void --- -2.24.1 - diff --git a/gnome-software.spec b/gnome-software.spec index e409132..d2e0331 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,17 +11,14 @@ %global libxmlb_version 0.1.7 Name: gnome-software -Version: 3.35.91 -Release: 2%{?dist} +Version: 3.35.92 +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/3.35/%{name}-%{version}.tar.xz -# already upstream -Patch0: 0001-Fix-crash-when-viewing-application-details.patch - BuildRequires: gcc BuildRequires: gettext BuildRequires: libxslt @@ -206,6 +203,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Wed Mar 04 2020 Kalev Lember - 3.35.92-1 +- Update to 3.35.92 + * Fri Feb 21 2020 Richard Hughes - 3.35.91-2 - Backport a patch to fix a crash when looking at the application details. diff --git a/sources b/sources index 21ab9a7..077f7c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-software-3.35.91.tar.xz) = 2329e3aafa896442ad61f76e72325632a98dc2913e2874e96bad91ea2b52f759730d729acd7d3ba93c07c3a89817c4e5c29133cc9082f6a54a675cb23f9f28ca +SHA512 (gnome-software-3.35.92.tar.xz) = 1846fa10b19daa48fce9d05e3f95cfabbef90bbe3f4ddbfd31b82cbe59ce8dc742630bc8d441965b724750a344902ffe6447d984041349ae836b73c010d30ff8 From 944fafa6618b7f39d812e0839fa33252b157d996 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 11 Mar 2020 13:58:51 +0100 Subject: [PATCH 3/9] Update to 3.36.0 --- .gitignore | 1 + gnome-software.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 441ea94..8c0c6a8 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,4 @@ /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 diff --git a/gnome-software.spec b/gnome-software.spec index d2e0331..f2e55b7 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,13 +11,13 @@ %global libxmlb_version 0.1.7 Name: gnome-software -Version: 3.35.92 +Version: 3.36.0 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/3.35/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/gnome-software/3.36/%{name}-%{version}.tar.xz BuildRequires: gcc BuildRequires: gettext @@ -203,6 +203,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Wed Mar 11 2020 Kalev Lember - 3.36.0-1 +- Update to 3.36.0 + * Wed Mar 04 2020 Kalev Lember - 3.35.92-1 - Update to 3.35.92 diff --git a/sources b/sources index 077f7c1..ebac2ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-software-3.35.92.tar.xz) = 1846fa10b19daa48fce9d05e3f95cfabbef90bbe3f4ddbfd31b82cbe59ce8dc742630bc8d441965b724750a344902ffe6447d984041349ae836b73c010d30ff8 +SHA512 (gnome-software-3.36.0.tar.xz) = 3727b738b0f669018b4b9b2af11dd86a1af6d8da7632b88c6ac47ef97b97299abb0aec47a6de2dc7e6afa33ee153f9df30e63e5dc83652a5402d6444389024c9 From ec564b3384cd9bd8ba879d729f407fc3e9fc68cb Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 12 May 2020 20:25:53 +0200 Subject: [PATCH 4/9] Backport various rpm-ostree backend fixes --- ...issing-locking-when-creating-DnfCont.patch | 27 +++++ ...ctly-mark-layered-local-packages-as-.patch | 64 +++++++++++ ...up-the-progress-info-required-for-th.patch | 106 ++++++++++++++++++ gnome-software.spec | 9 +- 4 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch create mode 100644 0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch create mode 100644 0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch diff --git a/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch b/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch new file mode 100644 index 0000000..7729d39 --- /dev/null +++ b/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch @@ -0,0 +1,27 @@ +From 33c980fb6fc0b0ad8206ffd39cf789447831518a Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Tue, 12 May 2020 10:18:43 +0200 +Subject: [PATCH 1/3] rpm-ostree: Add missing locking when creating DnfContext + +Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/983 +--- + plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +index 3811f935..f2c33484 100644 +--- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c ++++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +@@ -657,6 +657,9 @@ gs_plugin_refresh (GsPlugin *plugin, + GError **error) + { + GsPluginData *priv = gs_plugin_get_data (plugin); ++ g_autoptr(GMutexLocker) locker = NULL; ++ ++ locker = g_mutex_locker_new (&priv->mutex); + + if (!ensure_rpmostree_dnf_context (plugin, cancellable, error)) + return FALSE; +-- +2.26.2 + diff --git a/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch b/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch new file mode 100644 index 0000000..5efd58f --- /dev/null +++ b/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch @@ -0,0 +1,64 @@ +From 1d74bd249459f5a6768ce0642538f2ff395543c8 Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Tue, 12 May 2020 15:13:41 +0200 +Subject: [PATCH 2/3] rpm-ostree: Correctly mark layered local packages as + removable + +Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/984 +--- + plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +index f2c33484..e3824df1 100644 +--- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c ++++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +@@ -1251,6 +1251,7 @@ static gboolean + resolve_installed_packages_app (GsPlugin *plugin, + GPtrArray *pkglist, + gchar **layered_packages, ++ gchar **layered_local_packages, + GsApp *app) + { + for (guint i = 0; i < pkglist->len; i++) { +@@ -1260,7 +1261,9 @@ resolve_installed_packages_app (GsPlugin *plugin, + if (gs_app_get_state (app) == AS_APP_STATE_UNKNOWN) + gs_app_set_state (app, AS_APP_STATE_INSTALLED); + if (g_strv_contains ((const gchar * const *) layered_packages, +- rpm_ostree_package_get_name (pkg))) { ++ rpm_ostree_package_get_name (pkg)) || ++ g_strv_contains ((const gchar * const *) layered_local_packages, ++ rpm_ostree_package_get_nevra (pkg))) { + /* layered packages can always be removed */ + gs_app_remove_quirk (app, GS_APP_QUIRK_COMPULSORY); + } else { +@@ -1389,6 +1392,7 @@ gs_plugin_refine (GsPlugin *plugin, + g_autoptr(GPtrArray) pkglist = NULL; + g_autoptr(GVariant) default_deployment = NULL; + g_auto(GStrv) layered_packages = NULL; ++ g_auto(GStrv) layered_local_packages = NULL; + g_autofree gchar *checksum = NULL; + + locker = g_mutex_locker_new (&priv->mutex); +@@ -1403,6 +1407,9 @@ gs_plugin_refine (GsPlugin *plugin, + g_assert (g_variant_lookup (default_deployment, + "packages", "^as", + &layered_packages)); ++ g_assert (g_variant_lookup (default_deployment, ++ "requested-local-packages", "^as", ++ &layered_local_packages)); + g_assert (g_variant_lookup (default_deployment, + "checksum", "s", + &checksum)); +@@ -1442,7 +1449,7 @@ gs_plugin_refine (GsPlugin *plugin, + continue; + + /* first try to resolve from installed packages */ +- found = resolve_installed_packages_app (plugin, pkglist, layered_packages, app); ++ found = resolve_installed_packages_app (plugin, pkglist, layered_packages, layered_local_packages, app); + + /* if we didn't find anything, try resolving from available packages */ + if (!found && priv->dnf_context != NULL) +-- +2.26.2 + diff --git a/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch b/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch new file mode 100644 index 0000000..42a7781 --- /dev/null +++ b/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch @@ -0,0 +1,106 @@ +From 73c6118c15cdcbc33828dc2b470f2e652f4a64ac Mon Sep 17 00:00:00 2001 +From: Kalev Lember +Date: Tue, 12 May 2020 16:53:20 +0200 +Subject: [PATCH 3/3] rpm-ostree: Hook up the progress info required for the + loading page + +--- + plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 34 ++++++++++++++++++++++- + 1 file changed, 33 insertions(+), 1 deletion(-) + +diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +index e3824df1..96531759 100644 +--- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c ++++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c +@@ -255,8 +255,9 @@ transaction_progress_new (void) + static void + transaction_progress_free (TransactionProgress *self) + { +- g_main_loop_unref (self->loop); ++ g_clear_object (&self->plugin); + g_clear_error (&self->error); ++ g_main_loop_unref (self->loop); + g_clear_object (&self->app); + g_slice_free (TransactionProgress, self); + } +@@ -281,11 +282,30 @@ on_transaction_progress (GDBusProxy *proxy, + if (g_strcmp0 (signal_name, "PercentProgress") == 0) { + const gchar *message = NULL; + guint32 percentage; ++ + g_variant_get_child (parameters, 0, "&s", &message); + g_variant_get_child (parameters, 1, "u", &percentage); + g_debug ("PercentProgress: %u, %s\n", percentage, message); ++ + if (tp->app != NULL) + gs_app_set_progress (tp->app, (guint) percentage); ++ ++ if (tp->app != NULL && tp->plugin != NULL) { ++ GsPluginStatus plugin_status; ++ ++ switch (gs_app_get_state (tp->app)) { ++ case AS_APP_STATE_INSTALLING: ++ plugin_status = GS_PLUGIN_STATUS_INSTALLING; ++ break; ++ case AS_APP_STATE_REMOVING: ++ plugin_status = GS_PLUGIN_STATUS_REMOVING; ++ break; ++ default: ++ plugin_status = GS_PLUGIN_STATUS_DOWNLOADING; ++ break; ++ } ++ gs_plugin_status_update (tp->plugin, tp->app, plugin_status); ++ } + } else if (g_strcmp0 (signal_name, "Finished") == 0) { + if (tp->error == NULL) { + g_autofree gchar *error_message = NULL; +@@ -603,6 +623,7 @@ ensure_rpmostree_dnf_context (GsPlugin *plugin, GCancellable *cancellable, GErro + { + GsPluginData *priv = gs_plugin_get_data (plugin); + g_autofree gchar *transaction_address = NULL; ++ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); + g_autoptr(DnfContext) context = dnf_context_new (); + g_autoptr(DnfState) state = dnf_state_new (); + g_autoptr(GVariant) options = NULL; +@@ -611,6 +632,9 @@ ensure_rpmostree_dnf_context (GsPlugin *plugin, GCancellable *cancellable, GErro + if (priv->dnf_context != NULL) + return TRUE; + ++ tp->app = g_object_ref (progress_app); ++ tp->plugin = g_object_ref (plugin); ++ + dnf_context_set_repo_dir (context, "/etc/yum.repos.d"); + dnf_context_set_cache_dir (context, RPMOSTREE_CORE_CACHEDIR RPMOSTREE_DIR_CACHE_REPOMD); + dnf_context_set_solv_dir (context, RPMOSTREE_CORE_CACHEDIR RPMOSTREE_DIR_CACHE_SOLV); +@@ -669,9 +693,13 @@ gs_plugin_refresh (GsPlugin *plugin, + + { + g_autofree gchar *transaction_address = NULL; ++ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); + g_autoptr(GVariant) options = NULL; + g_autoptr(TransactionProgress) tp = transaction_progress_new (); + ++ tp->app = g_object_ref (progress_app); ++ tp->plugin = g_object_ref (plugin); ++ + options = make_rpmostree_options_variant (FALSE, /* reboot */ + FALSE, /* allow-downgrade */ + FALSE, /* cache-only */ +@@ -703,10 +731,14 @@ gs_plugin_refresh (GsPlugin *plugin, + + { + g_autofree gchar *transaction_address = NULL; ++ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); + g_autoptr(GVariant) options = NULL; + GVariantDict dict; + g_autoptr(TransactionProgress) tp = transaction_progress_new (); + ++ tp->app = g_object_ref (progress_app); ++ tp->plugin = g_object_ref (plugin); ++ + g_variant_dict_init (&dict, NULL); + g_variant_dict_insert (&dict, "mode", "s", "check"); + options = g_variant_ref_sink (g_variant_dict_end (&dict)); +-- +2.26.2 + diff --git a/gnome-software.spec b/gnome-software.spec index f2e55b7..347044c 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -12,13 +12,17 @@ Name: gnome-software Version: 3.36.0 -Release: 1%{?dist} +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/3.36/%{name}-%{version}.tar.xz +Patch1: 0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch +Patch2: 0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch +Patch3: 0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch + BuildRequires: gcc BuildRequires: gettext BuildRequires: libxslt @@ -203,6 +207,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Tue May 12 2020 Kalev Lember - 3.36.0-2 +- Backport various rpm-ostree backend fixes + * Wed Mar 11 2020 Kalev Lember - 3.36.0-1 - Update to 3.36.0 From 0c661395a400dfcf34fbebab2b90f2ad0a06c405 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 22 May 2020 17:00:53 +0100 Subject: [PATCH 5/9] Update to 3.36.1 --- .gitignore | 1 + ...issing-locking-when-creating-DnfCont.patch | 27 ----- ...ctly-mark-layered-local-packages-as-.patch | 64 ----------- ...up-the-progress-info-required-for-th.patch | 106 ------------------ gnome-software.spec | 11 +- sources | 2 +- 6 files changed, 7 insertions(+), 204 deletions(-) delete mode 100644 0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch delete mode 100644 0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch delete mode 100644 0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch diff --git a/.gitignore b/.gitignore index 8c0c6a8..376e4ca 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ /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 diff --git a/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch b/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch deleted file mode 100644 index 7729d39..0000000 --- a/0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 33c980fb6fc0b0ad8206ffd39cf789447831518a Mon Sep 17 00:00:00 2001 -From: Kalev Lember -Date: Tue, 12 May 2020 10:18:43 +0200 -Subject: [PATCH 1/3] rpm-ostree: Add missing locking when creating DnfContext - -Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/983 ---- - plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -index 3811f935..f2c33484 100644 ---- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -+++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -@@ -657,6 +657,9 @@ gs_plugin_refresh (GsPlugin *plugin, - GError **error) - { - GsPluginData *priv = gs_plugin_get_data (plugin); -+ g_autoptr(GMutexLocker) locker = NULL; -+ -+ locker = g_mutex_locker_new (&priv->mutex); - - if (!ensure_rpmostree_dnf_context (plugin, cancellable, error)) - return FALSE; --- -2.26.2 - diff --git a/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch b/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch deleted file mode 100644 index 5efd58f..0000000 --- a/0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 1d74bd249459f5a6768ce0642538f2ff395543c8 Mon Sep 17 00:00:00 2001 -From: Kalev Lember -Date: Tue, 12 May 2020 15:13:41 +0200 -Subject: [PATCH 2/3] rpm-ostree: Correctly mark layered local packages as - removable - -Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/984 ---- - plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -index f2c33484..e3824df1 100644 ---- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -+++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -@@ -1251,6 +1251,7 @@ static gboolean - resolve_installed_packages_app (GsPlugin *plugin, - GPtrArray *pkglist, - gchar **layered_packages, -+ gchar **layered_local_packages, - GsApp *app) - { - for (guint i = 0; i < pkglist->len; i++) { -@@ -1260,7 +1261,9 @@ resolve_installed_packages_app (GsPlugin *plugin, - if (gs_app_get_state (app) == AS_APP_STATE_UNKNOWN) - gs_app_set_state (app, AS_APP_STATE_INSTALLED); - if (g_strv_contains ((const gchar * const *) layered_packages, -- rpm_ostree_package_get_name (pkg))) { -+ rpm_ostree_package_get_name (pkg)) || -+ g_strv_contains ((const gchar * const *) layered_local_packages, -+ rpm_ostree_package_get_nevra (pkg))) { - /* layered packages can always be removed */ - gs_app_remove_quirk (app, GS_APP_QUIRK_COMPULSORY); - } else { -@@ -1389,6 +1392,7 @@ gs_plugin_refine (GsPlugin *plugin, - g_autoptr(GPtrArray) pkglist = NULL; - g_autoptr(GVariant) default_deployment = NULL; - g_auto(GStrv) layered_packages = NULL; -+ g_auto(GStrv) layered_local_packages = NULL; - g_autofree gchar *checksum = NULL; - - locker = g_mutex_locker_new (&priv->mutex); -@@ -1403,6 +1407,9 @@ gs_plugin_refine (GsPlugin *plugin, - g_assert (g_variant_lookup (default_deployment, - "packages", "^as", - &layered_packages)); -+ g_assert (g_variant_lookup (default_deployment, -+ "requested-local-packages", "^as", -+ &layered_local_packages)); - g_assert (g_variant_lookup (default_deployment, - "checksum", "s", - &checksum)); -@@ -1442,7 +1449,7 @@ gs_plugin_refine (GsPlugin *plugin, - continue; - - /* first try to resolve from installed packages */ -- found = resolve_installed_packages_app (plugin, pkglist, layered_packages, app); -+ found = resolve_installed_packages_app (plugin, pkglist, layered_packages, layered_local_packages, app); - - /* if we didn't find anything, try resolving from available packages */ - if (!found && priv->dnf_context != NULL) --- -2.26.2 - diff --git a/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch b/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch deleted file mode 100644 index 42a7781..0000000 --- a/0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 73c6118c15cdcbc33828dc2b470f2e652f4a64ac Mon Sep 17 00:00:00 2001 -From: Kalev Lember -Date: Tue, 12 May 2020 16:53:20 +0200 -Subject: [PATCH 3/3] rpm-ostree: Hook up the progress info required for the - loading page - ---- - plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 34 ++++++++++++++++++++++- - 1 file changed, 33 insertions(+), 1 deletion(-) - -diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -index e3824df1..96531759 100644 ---- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -+++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -@@ -255,8 +255,9 @@ transaction_progress_new (void) - static void - transaction_progress_free (TransactionProgress *self) - { -- g_main_loop_unref (self->loop); -+ g_clear_object (&self->plugin); - g_clear_error (&self->error); -+ g_main_loop_unref (self->loop); - g_clear_object (&self->app); - g_slice_free (TransactionProgress, self); - } -@@ -281,11 +282,30 @@ on_transaction_progress (GDBusProxy *proxy, - if (g_strcmp0 (signal_name, "PercentProgress") == 0) { - const gchar *message = NULL; - guint32 percentage; -+ - g_variant_get_child (parameters, 0, "&s", &message); - g_variant_get_child (parameters, 1, "u", &percentage); - g_debug ("PercentProgress: %u, %s\n", percentage, message); -+ - if (tp->app != NULL) - gs_app_set_progress (tp->app, (guint) percentage); -+ -+ if (tp->app != NULL && tp->plugin != NULL) { -+ GsPluginStatus plugin_status; -+ -+ switch (gs_app_get_state (tp->app)) { -+ case AS_APP_STATE_INSTALLING: -+ plugin_status = GS_PLUGIN_STATUS_INSTALLING; -+ break; -+ case AS_APP_STATE_REMOVING: -+ plugin_status = GS_PLUGIN_STATUS_REMOVING; -+ break; -+ default: -+ plugin_status = GS_PLUGIN_STATUS_DOWNLOADING; -+ break; -+ } -+ gs_plugin_status_update (tp->plugin, tp->app, plugin_status); -+ } - } else if (g_strcmp0 (signal_name, "Finished") == 0) { - if (tp->error == NULL) { - g_autofree gchar *error_message = NULL; -@@ -603,6 +623,7 @@ ensure_rpmostree_dnf_context (GsPlugin *plugin, GCancellable *cancellable, GErro - { - GsPluginData *priv = gs_plugin_get_data (plugin); - g_autofree gchar *transaction_address = NULL; -+ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); - g_autoptr(DnfContext) context = dnf_context_new (); - g_autoptr(DnfState) state = dnf_state_new (); - g_autoptr(GVariant) options = NULL; -@@ -611,6 +632,9 @@ ensure_rpmostree_dnf_context (GsPlugin *plugin, GCancellable *cancellable, GErro - if (priv->dnf_context != NULL) - return TRUE; - -+ tp->app = g_object_ref (progress_app); -+ tp->plugin = g_object_ref (plugin); -+ - dnf_context_set_repo_dir (context, "/etc/yum.repos.d"); - dnf_context_set_cache_dir (context, RPMOSTREE_CORE_CACHEDIR RPMOSTREE_DIR_CACHE_REPOMD); - dnf_context_set_solv_dir (context, RPMOSTREE_CORE_CACHEDIR RPMOSTREE_DIR_CACHE_SOLV); -@@ -669,9 +693,13 @@ gs_plugin_refresh (GsPlugin *plugin, - - { - g_autofree gchar *transaction_address = NULL; -+ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); - g_autoptr(GVariant) options = NULL; - g_autoptr(TransactionProgress) tp = transaction_progress_new (); - -+ tp->app = g_object_ref (progress_app); -+ tp->plugin = g_object_ref (plugin); -+ - options = make_rpmostree_options_variant (FALSE, /* reboot */ - FALSE, /* allow-downgrade */ - FALSE, /* cache-only */ -@@ -703,10 +731,14 @@ gs_plugin_refresh (GsPlugin *plugin, - - { - g_autofree gchar *transaction_address = NULL; -+ g_autoptr(GsApp) progress_app = gs_app_new (gs_plugin_get_name (plugin)); - g_autoptr(GVariant) options = NULL; - GVariantDict dict; - g_autoptr(TransactionProgress) tp = transaction_progress_new (); - -+ tp->app = g_object_ref (progress_app); -+ tp->plugin = g_object_ref (plugin); -+ - g_variant_dict_init (&dict, NULL); - g_variant_dict_insert (&dict, "mode", "s", "check"); - options = g_variant_ref_sink (g_variant_dict_end (&dict)); --- -2.26.2 - diff --git a/gnome-software.spec b/gnome-software.spec index 347044c..9a1a5a8 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -11,18 +11,14 @@ %global libxmlb_version 0.1.7 Name: gnome-software -Version: 3.36.0 -Release: 2%{?dist} +Version: 3.36.1 +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/3.36/%{name}-%{version}.tar.xz -Patch1: 0001-rpm-ostree-Add-missing-locking-when-creating-DnfCont.patch -Patch2: 0002-rpm-ostree-Correctly-mark-layered-local-packages-as-.patch -Patch3: 0003-rpm-ostree-Hook-up-the-progress-info-required-for-th.patch - BuildRequires: gcc BuildRequires: gettext BuildRequires: libxslt @@ -207,6 +203,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Fri May 22 2020 Richard Hughes - 3.36.1-1 +- Update to 3.36.1 + * Tue May 12 2020 Kalev Lember - 3.36.0-2 - Backport various rpm-ostree backend fixes diff --git a/sources b/sources index ebac2ec..27810b5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-software-3.36.0.tar.xz) = 3727b738b0f669018b4b9b2af11dd86a1af6d8da7632b88c6ac47ef97b97299abb0aec47a6de2dc7e6afa33ee153f9df30e63e5dc83652a5402d6444389024c9 +SHA512 (gnome-software-3.36.1.tar.xz) = 7d0e8c16192bbbc8f166db137dbd2e6ff9e85f7d3d37f63f41211ba3838e392bd87a8d9bf09d31b43f6d21e1a099ecdeff9114ae27fae40d563671f0bcbe50d4 From edfecfd175a97e750ccc4576ef39070a511643f1 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 9 Sep 2020 10:59:30 +0200 Subject: [PATCH 6/9] Add artwork for F32 Beta upgrades --- .gitignore | 1 + gnome-software.spec | 12 +++++++++++- sources | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 376e4ca..e405024 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,4 @@ /gnome-software-3.35.92.tar.xz /gnome-software-3.36.0.tar.xz /gnome-software-3.36.1.tar.xz +/f33.png diff --git a/gnome-software.spec b/gnome-software.spec index 9a1a5a8..6e20ad8 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -12,12 +12,14 @@ Name: gnome-software Version: 3.36.1 -Release: 1%{?dist} +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/3.36/%{name}-%{version}.tar.xz +# /usr/share/backgrounds/f33/default/f33.png from f33-backgrounds-base +Source1: f33.png BuildRequires: gcc BuildRequires: gettext @@ -127,6 +129,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 @@ -144,6 +150,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/apps/org.gnome.Software.svg %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Software-symbolic.svg %{_datadir}/icons/hicolor/scalable/status/software-installed-symbolic.svg +%{_datadir}/gnome-software/backgrounds/ %{_datadir}/gnome-software/featured-*.svg %{_datadir}/gnome-software/featured-*.jpg %{_datadir}/metainfo/org.gnome.Software.appdata.xml @@ -203,6 +210,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Wed Sep 09 2020 Kalev Lember - 3.36.1-2 +- Add artwork for F32 Beta upgrades + * Fri May 22 2020 Richard Hughes - 3.36.1-1 - Update to 3.36.1 diff --git a/sources b/sources index 27810b5..647ee4b 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (gnome-software-3.36.1.tar.xz) = 7d0e8c16192bbbc8f166db137dbd2e6ff9e85f7d3d37f63f41211ba3838e392bd87a8d9bf09d31b43f6d21e1a099ecdeff9114ae27fae40d563671f0bcbe50d4 +SHA512 (f33.png) = ebeb5193412071aa8e49c915cbd33b0af3fe91143e8070d0bc6b11a3e5f2b4bed7142e764f482606bc42c349739cff501606a2ac5c39eec96ad64cdbc2bdf9a2 From c6215a32da03312eda2c105d5838ed24c9c56096 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 9 Sep 2020 11:15:06 +0200 Subject: [PATCH 7/9] Fix last changelog entry --- gnome-software.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnome-software.spec b/gnome-software.spec index 6e20ad8..364ae95 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -211,7 +211,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %changelog * Wed Sep 09 2020 Kalev Lember - 3.36.1-2 -- Add artwork for F32 Beta upgrades +- Add artwork for F33 Beta upgrades * Fri May 22 2020 Richard Hughes - 3.36.1-1 - Update to 3.36.1 From a4552e5b235430c20c4548aa9b370bd6be1fd44a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 16 Oct 2020 09:25:10 +0200 Subject: [PATCH 8/9] Update artwork for F33 Final upgrades --- gnome-software.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gnome-software.spec b/gnome-software.spec index 364ae95..c9686ce 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -12,7 +12,7 @@ Name: gnome-software Version: 3.36.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A software center for GNOME License: GPLv2+ @@ -210,6 +210,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Fri Oct 16 2020 Kalev Lember - 3.36.1-3 +- Update artwork for F33 Final upgrades + * Wed Sep 09 2020 Kalev Lember - 3.36.1-2 - Add artwork for F33 Beta upgrades diff --git a/sources b/sources index 647ee4b..e5959d4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (gnome-software-3.36.1.tar.xz) = 7d0e8c16192bbbc8f166db137dbd2e6ff9e85f7d3d37f63f41211ba3838e392bd87a8d9bf09d31b43f6d21e1a099ecdeff9114ae27fae40d563671f0bcbe50d4 -SHA512 (f33.png) = ebeb5193412071aa8e49c915cbd33b0af3fe91143e8070d0bc6b11a3e5f2b4bed7142e764f482606bc42c349739cff501606a2ac5c39eec96ad64cdbc2bdf9a2 +SHA512 (f33.png) = 371b492d89f245c28f8ee56e154bcfdb4af0a5416323faab08cad0632993e82512301676ef21e26fce371c7d0af3c53b6a2c3539f43f5a6fa5fdc9f6911f6ad7 From 3b4d3e49b0aa9c9c175b2966abfae3b5f41efcee Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Wed, 28 Apr 2021 22:24:57 +0200 Subject: [PATCH 9/9] Add artwork for F34 upgrades --- .gitignore | 1 + gnome-software.spec | 8 +++++++- sources | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e405024..295e86c 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,4 @@ /gnome-software-3.36.0.tar.xz /gnome-software-3.36.1.tar.xz /f33.png +/f34.png diff --git a/gnome-software.spec b/gnome-software.spec index c9686ce..0d154f4 100644 --- a/gnome-software.spec +++ b/gnome-software.spec @@ -12,7 +12,7 @@ Name: gnome-software Version: 3.36.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A software center for GNOME License: GPLv2+ @@ -20,6 +20,8 @@ URL: https://wiki.gnome.org/Apps/Software Source0: https://download.gnome.org/sources/gnome-software/3.36/%{name}-%{version}.tar.xz # /usr/share/backgrounds/f33/default/f33.png from f33-backgrounds-base Source1: f33.png +# /usr/share/backgrounds/f34/default/f34.png from f34-backgrounds-base +Source2: f34.png BuildRequires: gcc BuildRequires: gettext @@ -132,6 +134,7 @@ FOE # Install upgrade background image mkdir -p %{buildroot}%{_datadir}/gnome-software/backgrounds cp -a %{SOURCE1} %{buildroot}%{_datadir}/gnome-software/backgrounds/ +cp -a %{SOURCE2} %{buildroot}%{_datadir}/gnome-software/backgrounds/ %find_lang %name --with-gnome @@ -210,6 +213,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/gtk-doc/html/gnome-software %changelog +* Wed Apr 28 2021 Milan Crha - 3.36.1-4 +- Add artwork for F34 upgrades + * Fri Oct 16 2020 Kalev Lember - 3.36.1-3 - Update artwork for F33 Final upgrades diff --git a/sources b/sources index e5959d4..5651593 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (gnome-software-3.36.1.tar.xz) = 7d0e8c16192bbbc8f166db137dbd2e6ff9e85f7d3d37f63f41211ba3838e392bd87a8d9bf09d31b43f6d21e1a099ecdeff9114ae27fae40d563671f0bcbe50d4 SHA512 (f33.png) = 371b492d89f245c28f8ee56e154bcfdb4af0a5416323faab08cad0632993e82512301676ef21e26fce371c7d0af3c53b6a2c3539f43f5a6fa5fdc9f6911f6ad7 +SHA512 (f34.png) = 8dabae1a70f1257ba287ebafe8cf82104c8fc23f87bcb4ef307e9f9ff110ced3a7c256289dfbb2551c4dc28ae3fe05fa57916f7257d4ad78f2758fbe6cce7f0d