From 0e7fe249ebbf9610a32af15a95693c7732615b81 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 17 2022 08:39:30 +0000 Subject: import gnome-software-41.4-1.el9 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6e0f5a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/gnome-software-41.4.tar.xz diff --git a/.gnome-software.metadata b/.gnome-software.metadata new file mode 100644 index 0000000..61282c9 --- /dev/null +++ b/.gnome-software.metadata @@ -0,0 +1 @@ +1578d82a8791f6484bc85e6277294403b4b0cd2b SOURCES/gnome-software-41.4.tar.xz diff --git a/SOURCES/0001-crash-with-broken-theme.patch b/SOURCES/0001-crash-with-broken-theme.patch new file mode 100644 index 0000000..fd37e80 --- /dev/null +++ b/SOURCES/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/SOURCES/0006-optional-repos-cannot-be-disabled.patch b/SOURCES/0006-optional-repos-cannot-be-disabled.patch new file mode 100644 index 0000000..b581147 --- /dev/null +++ b/SOURCES/0006-optional-repos-cannot-be-disabled.patch @@ -0,0 +1,498 @@ +From dca731ff0daf904911dd6815fb9a1b181329c887 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Tue, 5 Oct 2021 11:00:20 +0200 +Subject: [PATCH 1/4] gs-repo-row: Use GS_APP_QUIRK_COMPULSORY to recognize + required repositories + +The GS_APP_QUIRK_PROVENANCE quirk does not mean it's also required repository, +thus use the GS_APP_QUIRK_COMPULSORY for repos, which cannot be disabled. +The GS_APP_QUIRK_PROVENANCE is used only for repositories, which cannot be removed. +--- + src/gs-repo-row.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/gs-repo-row.c b/src/gs-repo-row.c +index 87926092f..bbf67c194 100644 +--- a/src/gs-repo-row.c ++++ b/src/gs-repo-row.c +@@ -48,7 +48,8 @@ refresh_ui (GsRepoRow *row) + gboolean active = FALSE; + gboolean state_sensitive = FALSE; + gboolean busy = priv->busy_counter> 0; +- gboolean is_system_repo; ++ gboolean is_provenance; ++ gboolean is_compulsory; + + if (priv->repo == NULL) { + gtk_widget_set_sensitive (priv->disable_switch, FALSE); +@@ -87,11 +88,12 @@ refresh_ui (GsRepoRow *row) + break; + } + +- is_system_repo = gs_app_has_quirk (priv->repo, GS_APP_QUIRK_PROVENANCE); ++ is_provenance = gs_app_has_quirk (priv->repo, GS_APP_QUIRK_PROVENANCE); ++ is_compulsory = gs_app_has_quirk (priv->repo, GS_APP_QUIRK_COMPULSORY); + + /* Disable for the system repos, if installed */ +- gtk_widget_set_sensitive (priv->disable_switch, priv->supports_enable_disable && (state_sensitive || !is_system_repo || priv->always_allow_enable_disable)); +- gtk_widget_set_visible (priv->remove_button, priv->supports_remove && !is_system_repo); ++ gtk_widget_set_sensitive (priv->disable_switch, priv->supports_enable_disable && (state_sensitive || !is_compulsory || priv->always_allow_enable_disable)); ++ gtk_widget_set_visible (priv->remove_button, priv->supports_remove && !is_provenance && !is_compulsory); + + /* Set only the 'state' to visually indicate the state is not saved yet */ + if (busy) +-- +GitLab + + +From 026218b9d3211de243dfc49eca8b8d46633882b0 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Tue, 5 Oct 2021 11:03:31 +0200 +Subject: [PATCH 2/4] gs-plugin-provenance: Improve search speed in list of + repositories + +Use a GHashTable for bare repository names and a GPtrArray for those +with wildcards. This helps with speed, due to not traversing all +the repository names with the fnmatch() call. +--- + plugins/core/gs-plugin-provenance.c | 55 ++++++++++++++++++++--------- + 1 file changed, 38 insertions(+), 17 deletions(-) + +diff --git a/plugins/core/gs-plugin-provenance.c b/plugins/core/gs-plugin-provenance.c +index 97ff76798..a72c25a27 100644 +--- a/plugins/core/gs-plugin-provenance.c ++++ b/plugins/core/gs-plugin-provenance.c +@@ -19,7 +19,8 @@ + + struct GsPluginData { + GSettings *settings; +- gchar **sources; ++ GHashTable *repos; /* gchar *name ~> NULL */ ++ GPtrArray *wildcards; /* non-NULL, when have names with wildcards */ + }; + + static gchar ** +@@ -42,8 +43,24 @@ gs_plugin_provenance_settings_changed_cb (GSettings *settings, + { + GsPluginData *priv = gs_plugin_get_data (plugin); + if (g_strcmp0 (key, "official-repos") == 0) { +- g_strfreev (priv->sources); +- priv->sources = gs_plugin_provenance_get_sources (plugin); ++ /* The keys are stolen by the hash table, thus free only the array */ ++ g_autofree gchar **repos = NULL; ++ g_hash_table_remove_all (priv->repos); ++ g_clear_pointer (&priv->wildcards, g_ptr_array_unref); ++ repos = gs_plugin_provenance_get_sources (plugin); ++ for (guint ii = 0; repos && repos[ii]; ii++) { ++ if (strchr (repos[ii], '*') || ++ strchr (repos[ii], '?') || ++ strchr (repos[ii], '[')) { ++ if (priv->wildcards == NULL) ++ priv->wildcards = g_ptr_array_new_with_free_func (g_free); ++ g_ptr_array_add (priv->wildcards, g_steal_pointer (&(repos[ii]))); ++ } else { ++ g_hash_table_insert (priv->repos, g_steal_pointer (&(repos[ii])), NULL); ++ } ++ } ++ if (priv->wildcards != NULL) ++ g_ptr_array_add (priv->wildcards, NULL); + } + } + +@@ -52,9 +69,10 @@ gs_plugin_initialize (GsPlugin *plugin) + { + GsPluginData *priv = gs_plugin_alloc_data (plugin, sizeof(GsPluginData)); + priv->settings = g_settings_new ("org.gnome.software"); ++ priv->repos = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + g_signal_connect (priv->settings, "changed", + G_CALLBACK (gs_plugin_provenance_settings_changed_cb), plugin); +- priv->sources = gs_plugin_provenance_get_sources (plugin); ++ gs_plugin_provenance_settings_changed_cb (priv->settings, "official-repos", plugin); + + /* after the package source is set */ + gs_plugin_add_rule (plugin, GS_PLUGIN_RULE_RUN_AFTER, "dummy"); +@@ -66,7 +84,8 @@ void + gs_plugin_destroy (GsPlugin *plugin) + { + GsPluginData *priv = gs_plugin_get_data (plugin); +- g_strfreev (priv->sources); ++ g_hash_table_unref (priv->repos); ++ g_clear_pointer (&priv->wildcards, g_ptr_array_unref); + g_object_unref (priv->settings); + } + +@@ -74,12 +93,12 @@ static gboolean + refine_app (GsPlugin *plugin, + GsApp *app, + GsPluginRefineFlags flags, ++ GHashTable *repos, ++ GPtrArray *wildcards, + GCancellable *cancellable, + GError **error) + { +- GsPluginData *priv = gs_plugin_get_data (plugin); + const gchar *origin; +- gchar **sources; + + /* not required */ + if ((flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE) == 0) +@@ -87,14 +106,10 @@ refine_app (GsPlugin *plugin, + if (gs_app_has_quirk (app, GS_APP_QUIRK_PROVENANCE)) + return TRUE; + +- /* nothing to search */ +- sources = priv->sources; +- if (sources == NULL || sources[0] == NULL) +- return TRUE; +- + /* simple case */ + origin = gs_app_get_origin (app); +- if (origin != NULL && gs_utils_strv_fnmatch (sources, origin)) { ++ if (origin != NULL && (g_hash_table_contains (repos, origin) || ++ (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, origin)))) { + gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); + return TRUE; + } +@@ -103,7 +118,8 @@ refine_app (GsPlugin *plugin, + * provenance quirk to the system-configured repositories (but not + * user-configured ones). */ + if (gs_app_get_kind (app) == AS_COMPONENT_KIND_REPOSITORY && +- gs_utils_strv_fnmatch (sources, gs_app_get_id (app))) { ++ (g_hash_table_contains (repos, gs_app_get_id (app)) || ++ (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, gs_app_get_id (app))))) { + if (gs_app_get_scope (app) != AS_COMPONENT_SCOPE_USER) + gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); + return TRUE; +@@ -118,7 +134,8 @@ refine_app (GsPlugin *plugin, + return TRUE; + if (g_str_has_prefix (origin + 1, "installed:")) + origin += 10; +- if (gs_utils_strv_fnmatch (sources, origin + 1)) { ++ if (g_hash_table_contains (repos, origin + 1) || ++ (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, origin + 1))) { + gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); + return TRUE; + } +@@ -133,17 +150,21 @@ gs_plugin_refine (GsPlugin *plugin, + GError **error) + { + GsPluginData *priv = gs_plugin_get_data (plugin); ++ g_autoptr(GHashTable) repos = NULL; ++ g_autoptr(GPtrArray) wildcards = NULL; + + /* nothing to do here */ + if ((flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE) == 0) + return TRUE; ++ repos = g_hash_table_ref (priv->repos); ++ wildcards = priv->wildcards != NULL ? g_ptr_array_ref (priv->wildcards) : NULL; + /* nothing to search */ +- if (priv->sources == NULL || priv->sources[0] == NULL) ++ if (g_hash_table_size (repos) == 0) + return TRUE; + + for (guint i = 0; i < gs_app_list_length (list); i++) { + GsApp *app = gs_app_list_index (list, i); +- if (!refine_app (plugin, app, flags, cancellable, error)) ++ if (!refine_app (plugin, app, flags, repos, wildcards, cancellable, error)) + return FALSE; + } + +-- +GitLab + + +From b5e3356aff5fcd257248f9bb697e272c879249ae Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Tue, 5 Oct 2021 13:03:44 +0200 +Subject: [PATCH 3/4] settings: Add 'required-repos' key + +To be used to list repositories, which cannot be removed or disabled. +It's a complementary option for the 'official-repos' key. +--- + data/org.gnome.software.gschema.xml | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/data/org.gnome.software.gschema.xml b/data/org.gnome.software.gschema.xml +index db1c27ce4..0e5706b7c 100644 +--- a/data/org.gnome.software.gschema.xml ++++ b/data/org.gnome.software.gschema.xml +@@ -94,6 +94,10 @@ + [] + A list of official repositories that should not be considered 3rd party + ++ ++ [] ++ A list of required repositories that cannot be disabled or removed ++ + + [] + A list of official repositories that should be considered free software +-- +GitLab + + +From d6b8b206a596bb520a0b77066898b44a5ef18920 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Tue, 5 Oct 2021 14:16:56 +0200 +Subject: [PATCH 4/4] gs-plugin-provenance: Handle also 'required-repos' key + +Let it handle also 'required-repos' settings key, beside the 'official-repos' +key, which are close enough to share the same code and memory. With this +done the repositories can be marked as compulsory, independently from the official +repositories. + +Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1479 +--- + plugins/core/gs-plugin-provenance.c | 142 +++++++++++++++++++++------- + 1 file changed, 108 insertions(+), 34 deletions(-) + +diff --git a/plugins/core/gs-plugin-provenance.c b/plugins/core/gs-plugin-provenance.c +index a72c25a27..22f3c98e1 100644 +--- a/plugins/core/gs-plugin-provenance.c ++++ b/plugins/core/gs-plugin-provenance.c +@@ -14,26 +14,61 @@ + /* + * SECTION: + * Sets the package provenance to TRUE if installed by an official +- * software source. ++ * software source. Also sets compulsory quirk when a required repository. + */ + + struct GsPluginData { + GSettings *settings; +- GHashTable *repos; /* gchar *name ~> NULL */ +- GPtrArray *wildcards; /* non-NULL, when have names with wildcards */ ++ GHashTable *repos; /* gchar *name ~> guint flags */ ++ GPtrArray *provenance_wildcards; /* non-NULL, when have names with wildcards */ ++ GPtrArray *compulsory_wildcards; /* non-NULL, when have names with wildcards */ + }; + ++static GHashTable * ++gs_plugin_provenance_remove_by_flag (GHashTable *old_repos, ++ GsAppQuirk quirk) ++{ ++ GHashTable *new_repos = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ GHashTableIter iter; ++ gpointer key, value; ++ g_hash_table_iter_init (&iter, old_repos); ++ while (g_hash_table_iter_next (&iter, &key, &value)) { ++ guint flags = GPOINTER_TO_UINT (value); ++ flags = flags & (~quirk); ++ if (flags != 0) ++ g_hash_table_insert (new_repos, g_strdup (key), GUINT_TO_POINTER (flags)); ++ } ++ return new_repos; ++} ++ ++static void ++gs_plugin_provenance_add_quirks (GsApp *app, ++ guint quirks) ++{ ++ GsAppQuirk array[] = { ++ GS_APP_QUIRK_PROVENANCE, ++ GS_APP_QUIRK_COMPULSORY ++ }; ++ for (guint ii = 0; ii < G_N_ELEMENTS (array); ii++) { ++ if ((quirks & array[ii]) != 0) ++ gs_app_add_quirk (app, array[ii]); ++ } ++} ++ + static gchar ** +-gs_plugin_provenance_get_sources (GsPlugin *plugin) ++gs_plugin_provenance_get_sources (GsPlugin *plugin, ++ const gchar *key) + { + GsPluginData *priv = gs_plugin_get_data (plugin); + const gchar *tmp; + tmp = g_getenv ("GS_SELF_TEST_PROVENANCE_SOURCES"); + if (tmp != NULL) { ++ if (g_strcmp0 (key, "required-repos") == 0) ++ return NULL; + g_debug ("using custom provenance sources of %s", tmp); + return g_strsplit (tmp, ",", -1); + } +- return g_settings_get_strv (priv->settings, "official-repos"); ++ return g_settings_get_strv (priv->settings, key); + } + + static void +@@ -42,25 +77,43 @@ gs_plugin_provenance_settings_changed_cb (GSettings *settings, + GsPlugin *plugin) + { + GsPluginData *priv = gs_plugin_get_data (plugin); ++ GsAppQuirk quirk = GS_APP_QUIRK_NONE; ++ GPtrArray **pwildcards = NULL; ++ + if (g_strcmp0 (key, "official-repos") == 0) { ++ quirk = GS_APP_QUIRK_PROVENANCE; ++ pwildcards = &priv->provenance_wildcards; ++ } else if (g_strcmp0 (key, "required-repos") == 0) { ++ quirk = GS_APP_QUIRK_COMPULSORY; ++ pwildcards = &priv->compulsory_wildcards; ++ } ++ ++ if (quirk != GS_APP_QUIRK_NONE) { + /* The keys are stolen by the hash table, thus free only the array */ + g_autofree gchar **repos = NULL; +- g_hash_table_remove_all (priv->repos); +- g_clear_pointer (&priv->wildcards, g_ptr_array_unref); +- repos = gs_plugin_provenance_get_sources (plugin); ++ g_autoptr(GHashTable) old_repos = priv->repos; ++ g_autoptr(GPtrArray) old_wildcards = *pwildcards; ++ GHashTable *new_repos = gs_plugin_provenance_remove_by_flag (old_repos, quirk); ++ GPtrArray *new_wildcards = NULL; ++ repos = gs_plugin_provenance_get_sources (plugin, key); + for (guint ii = 0; repos && repos[ii]; ii++) { +- if (strchr (repos[ii], '*') || +- strchr (repos[ii], '?') || +- strchr (repos[ii], '[')) { +- if (priv->wildcards == NULL) +- priv->wildcards = g_ptr_array_new_with_free_func (g_free); +- g_ptr_array_add (priv->wildcards, g_steal_pointer (&(repos[ii]))); ++ gchar *repo = g_steal_pointer (&(repos[ii])); ++ if (strchr (repo, '*') || ++ strchr (repo, '?') || ++ strchr (repo, '[')) { ++ if (new_wildcards == NULL) ++ new_wildcards = g_ptr_array_new_with_free_func (g_free); ++ g_ptr_array_add (new_wildcards, repo); + } else { +- g_hash_table_insert (priv->repos, g_steal_pointer (&(repos[ii])), NULL); ++ g_hash_table_insert (new_repos, repo, ++ GUINT_TO_POINTER (quirk | ++ GPOINTER_TO_UINT (g_hash_table_lookup (new_repos, repo)))); + } + } +- if (priv->wildcards != NULL) +- g_ptr_array_add (priv->wildcards, NULL); ++ if (new_wildcards != NULL) ++ g_ptr_array_add (new_wildcards, NULL); ++ priv->repos = new_repos; ++ *pwildcards = new_wildcards; + } + } + +@@ -73,6 +126,7 @@ gs_plugin_initialize (GsPlugin *plugin) + g_signal_connect (priv->settings, "changed", + G_CALLBACK (gs_plugin_provenance_settings_changed_cb), plugin); + gs_plugin_provenance_settings_changed_cb (priv->settings, "official-repos", plugin); ++ gs_plugin_provenance_settings_changed_cb (priv->settings, "required-repos", plugin); + + /* after the package source is set */ + gs_plugin_add_rule (plugin, GS_PLUGIN_RULE_RUN_AFTER, "dummy"); +@@ -85,20 +139,42 @@ gs_plugin_destroy (GsPlugin *plugin) + { + GsPluginData *priv = gs_plugin_get_data (plugin); + g_hash_table_unref (priv->repos); +- g_clear_pointer (&priv->wildcards, g_ptr_array_unref); ++ g_clear_pointer (&priv->provenance_wildcards, g_ptr_array_unref); ++ g_clear_pointer (&priv->compulsory_wildcards, g_ptr_array_unref); + g_object_unref (priv->settings); + } + ++static gboolean ++gs_plugin_provenance_find_repo_flags (GHashTable *repos, ++ GPtrArray *provenance_wildcards, ++ GPtrArray *compulsory_wildcards, ++ const gchar *repo, ++ guint *out_flags) ++{ ++ if (repo == NULL || *repo == '\0') ++ return FALSE; ++ *out_flags = GPOINTER_TO_UINT (g_hash_table_lookup (repos, repo)); ++ if (provenance_wildcards != NULL && ++ gs_utils_strv_fnmatch ((gchar **) provenance_wildcards->pdata, repo)) ++ *out_flags |= GS_APP_QUIRK_PROVENANCE; ++ if (compulsory_wildcards != NULL && ++ gs_utils_strv_fnmatch ((gchar **) compulsory_wildcards->pdata, repo)) ++ *out_flags |= GS_APP_QUIRK_COMPULSORY; ++ return *out_flags != 0; ++} ++ + static gboolean + refine_app (GsPlugin *plugin, + GsApp *app, + GsPluginRefineFlags flags, + GHashTable *repos, +- GPtrArray *wildcards, ++ GPtrArray *provenance_wildcards, ++ GPtrArray *compulsory_wildcards, + GCancellable *cancellable, + GError **error) + { + const gchar *origin; ++ guint quirks; + + /* not required */ + if ((flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE) == 0) +@@ -108,9 +184,8 @@ refine_app (GsPlugin *plugin, + + /* simple case */ + origin = gs_app_get_origin (app); +- if (origin != NULL && (g_hash_table_contains (repos, origin) || +- (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, origin)))) { +- gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); ++ if (gs_plugin_provenance_find_repo_flags (repos, provenance_wildcards, compulsory_wildcards, origin, &quirks)) { ++ gs_plugin_provenance_add_quirks (app, quirks); + return TRUE; + } + +@@ -118,10 +193,9 @@ refine_app (GsPlugin *plugin, + * provenance quirk to the system-configured repositories (but not + * user-configured ones). */ + if (gs_app_get_kind (app) == AS_COMPONENT_KIND_REPOSITORY && +- (g_hash_table_contains (repos, gs_app_get_id (app)) || +- (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, gs_app_get_id (app))))) { ++ gs_plugin_provenance_find_repo_flags (repos, provenance_wildcards, compulsory_wildcards, gs_app_get_id (app), &quirks)) { + if (gs_app_get_scope (app) != AS_COMPONENT_SCOPE_USER) +- gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); ++ gs_plugin_provenance_add_quirks (app, quirks); + return TRUE; + } + +@@ -134,11 +208,9 @@ refine_app (GsPlugin *plugin, + return TRUE; + if (g_str_has_prefix (origin + 1, "installed:")) + origin += 10; +- if (g_hash_table_contains (repos, origin + 1) || +- (wildcards != NULL && gs_utils_strv_fnmatch ((gchar **) wildcards->pdata, origin + 1))) { +- gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); +- return TRUE; +- } ++ if (gs_plugin_provenance_find_repo_flags (repos, provenance_wildcards, compulsory_wildcards, origin + 1, &quirks)) ++ gs_plugin_provenance_add_quirks (app, quirks); ++ + return TRUE; + } + +@@ -151,20 +223,22 @@ gs_plugin_refine (GsPlugin *plugin, + { + GsPluginData *priv = gs_plugin_get_data (plugin); + g_autoptr(GHashTable) repos = NULL; +- g_autoptr(GPtrArray) wildcards = NULL; ++ g_autoptr(GPtrArray) provenance_wildcards = NULL; ++ g_autoptr(GPtrArray) compulsory_wildcards = NULL; + + /* nothing to do here */ + if ((flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_PROVENANCE) == 0) + return TRUE; + repos = g_hash_table_ref (priv->repos); +- wildcards = priv->wildcards != NULL ? g_ptr_array_ref (priv->wildcards) : NULL; ++ provenance_wildcards = priv->provenance_wildcards != NULL ? g_ptr_array_ref (priv->provenance_wildcards) : NULL; ++ compulsory_wildcards = priv->compulsory_wildcards != NULL ? g_ptr_array_ref (priv->compulsory_wildcards) : NULL; + /* nothing to search */ +- if (g_hash_table_size (repos) == 0) ++ if (g_hash_table_size (repos) == 0 && provenance_wildcards == NULL && compulsory_wildcards == NULL) + return TRUE; + + for (guint i = 0; i < gs_app_list_length (list); i++) { + GsApp *app = gs_app_list_index (list, i); +- if (!refine_app (plugin, app, flags, repos, wildcards, cancellable, error)) ++ if (!refine_app (plugin, app, flags, repos, provenance_wildcards, compulsory_wildcards, cancellable, error)) + return FALSE; + } + +-- +GitLab + diff --git a/SOURCES/0007-compulsory-only-for-repos.patch b/SOURCES/0007-compulsory-only-for-repos.patch new file mode 100644 index 0000000..fb266df --- /dev/null +++ b/SOURCES/0007-compulsory-only-for-repos.patch @@ -0,0 +1,42 @@ +From 895d1ca748f4f33a852853f5f07903fb549fb66f Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Mon, 11 Oct 2021 09:13:59 +0200 +Subject: [PATCH] gs-plugin-provenance: Set COMPULSORY quirk only on REPOSITORY + apps + +The compulsory quirk related to repositories, which cannot be removed, +not to the applications provided by those repositories, thus set that +quirk only on repositories, not on the apps from it. + +Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1488 +--- + plugins/core/gs-plugin-provenance.c | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/plugins/core/gs-plugin-provenance.c b/plugins/core/gs-plugin-provenance.c +index 22f3c98e..e44a55f0 100644 +--- a/plugins/core/gs-plugin-provenance.c ++++ b/plugins/core/gs-plugin-provenance.c +@@ -45,14 +45,11 @@ static void + gs_plugin_provenance_add_quirks (GsApp *app, + guint quirks) + { +- GsAppQuirk array[] = { +- GS_APP_QUIRK_PROVENANCE, +- GS_APP_QUIRK_COMPULSORY +- }; +- for (guint ii = 0; ii < G_N_ELEMENTS (array); ii++) { +- if ((quirks & array[ii]) != 0) +- gs_app_add_quirk (app, array[ii]); +- } ++ if ((quirks & GS_APP_QUIRK_PROVENANCE) != 0) ++ gs_app_add_quirk (app, GS_APP_QUIRK_PROVENANCE); ++ if ((quirks & GS_APP_QUIRK_COMPULSORY) != 0 && ++ gs_app_get_kind (app) == AS_COMPONENT_KIND_REPOSITORY) ++ gs_app_add_quirk (app, GS_APP_QUIRK_COMPULSORY); + } + + static gchar ** +-- +2.31.1 + diff --git a/SPECS/gnome-software.spec b/SPECS/gnome-software.spec new file mode 100644 index 0000000..7567ba1 --- /dev/null +++ b/SPECS/gnome-software.spec @@ -0,0 +1,970 @@ +%global appstream_version 0.14.0 +%global libxmlb_version 0.1.7 +%global glib2_version 2.61.1 +%global gtk3_version 3.22.4 +%global json_glib_version 1.2.0 +%global libsoup_version 2.52.0 +%global packagekit_version 1.1.1 +%global fwupd_version 1.3.3 +%global flatpak_version 1.5.1 + +%global tarball_version %%(echo %{version} | tr '~' '.') + +Name: gnome-software +Version: 41.4 +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/41/%{name}-%{tarball_version}.tar.xz + +Patch01: 0001-crash-with-broken-theme.patch +Patch02: 0006-optional-repos-cannot-be-disabled.patch +Patch03: 0007-compulsory-only-for-repos.patch + +BuildRequires: appstream-devel >= %{appstream_version} +BuildRequires: gcc +BuildRequires: gettext +BuildRequires: libxslt +BuildRequires: docbook-style-xsl +BuildRequires: desktop-file-utils +BuildRequires: fwupd-devel >= %{fwupd_version} +BuildRequires: glib2-devel >= %{glib2_version} +BuildRequires: gnome-online-accounts-devel +BuildRequires: gsettings-desktop-schemas-devel +BuildRequires: gspell-devel +BuildRequires: gtk3-devel >= %{gtk3_version} +BuildRequires: gtk-doc +BuildRequires: json-glib-devel >= %{json_glib_version} +BuildRequires: libdnf-devel +BuildRequires: libhandy1-devel +BuildRequires: libsoup-devel +BuildRequires: libxmlb-devel >= %{libxmlb_version} +BuildRequires: meson +BuildRequires: PackageKit-glib-devel >= %{packagekit_version} +BuildRequires: polkit-devel +BuildRequires: flatpak-devel >= %{flatpak_version} +BuildRequires: ostree-devel +BuildRequires: rpm-devel +BuildRequires: rpm-ostree-devel +BuildRequires: libgudev1-devel +BuildRequires: sysprof-capture-devel +BuildRequires: valgrind-devel + +Requires: appstream-data +Requires: appstream%{?_isa} >= %{appstream_version} +Requires: flatpak%{?_isa} >= %{flatpak_version} +Requires: flatpak-libs%{?_isa} >= %{flatpak_version} +Requires: fwupd%{?_isa} >= %{fwupd_version} +Requires: glib2%{?_isa} >= %{glib2_version} +# gnome-menus is needed for app folder .directory entries +Requires: gnome-menus%{?_isa} +Requires: gsettings-desktop-schemas%{?_isa} +Requires: gtk3%{?_isa} >= %{gtk3_version} +Requires: json-glib%{?_isa} >= %{json_glib_version} +Requires: iso-codes +# librsvg2 is needed for gdk-pixbuf svg loader +Requires: librsvg2%{?_isa} +Requires: libsoup%{?_isa} >= %{libsoup_version} +Requires: libxmlb%{?_isa} >= %{libxmlb_version} + +Recommends: PackageKit%{?_isa} >= %{packagekit_version} + +Obsoletes: gnome-software-snap < 3.33.1 +Obsoletes: gnome-software-editor < 3.35.1 + +# this is not a library version +%define gs_plugin_version 16 + +%description +gnome-software is an application that makes it easy to add, remove +and update software in the GNOME desktop. + +%package devel +Summary: Headers for building external gnome-software plugins +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +These development files are for building gnome-software plugins outside +the source tree. Most users do not need this subpackage installed. + +%package rpm-ostree +Summary: rpm-ostree backend for gnome-software +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: rpm-ostree%{?_isa} +Supplements: (gnome-software%{?_isa} and rpm-ostree%{?_isa}) + +%description rpm-ostree +gnome-software is an application that makes it easy to add, remove +and update software in the GNOME desktop. + +This package includes the rpm-ostree backend. + +%prep +%autosetup -p1 -n %{name}-%{tarball_version} + +%build +%meson \ + -Dsnap=false \ + -Dmalcontent=false \ + -Dgudev=true \ + -Dpackagekit=true \ + -Dexternal_appstream=false \ + -Drpm_ostree=true \ + -Dtests=false +%meson_build + +%install +%meson_install + +# remove unneeded dpkg plugin +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 \ + --set-key=X-AppInstall-Package --set-value=%{name} + +# set up for Fedora +cat >> %{buildroot}%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override << FOE +[org.gnome.software] +%if 0%{?rhel} +official-repos = [ 'rhel-%{?rhel}' ] +%else +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', 'fedora-cisco-openh264', 'fedora-cisco-openh264-debuginfo' ] +required-repos = [ 'fedora', 'updates' ] +%endif +FOE + +%find_lang %name --with-gnome + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop + +%files -f %{name}.lang +%doc AUTHORS README.md +%license COPYING +%{_bindir}/gnome-software +%{_datadir}/applications/gnome-software-local-file.desktop +%{_datadir}/applications/org.gnome.Software.desktop +%dir %{_datadir}/gnome-software +%{_datadir}/gnome-software/*.png +%{_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/app-remove-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}/metainfo/org.gnome.Software.appdata.xml +%{_datadir}/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml +%{_datadir}/metainfo/org.gnome.Software.Plugin.Fwupd.metainfo.xml +%dir %{_libdir}/gnome-software/plugins-%{gs_plugin_version} +%{_libdir}/gnome-software/libgnomesoftware.so.%{gs_plugin_version} +%{_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_os-release.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refine-repos.so +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_packagekit-refresh.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 +%{_datadir}/dbus-1/services/org.gnome.Software.service +%{_datadir}/gnome-shell/search-providers/org.gnome.Software-search-provider.ini +%{_datadir}/glib-2.0/schemas/org.gnome.software.gschema.xml +%{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override +%{_libexecdir}/gnome-software-cmd +%{_libexecdir}/gnome-software-restarter + +%files rpm-ostree +%{_libdir}/gnome-software/plugins-%{gs_plugin_version}/libgs_plugin_rpm-ostree.so + +%files devel +%{_libdir}/pkgconfig/gnome-software.pc +%dir %{_includedir}/gnome-software +%{_includedir}/gnome-software/*.h +%{_libdir}/gnome-software/libgnomesoftware.so +%{_datadir}/gtk-doc/html/gnome-software + +%changelog +* Mon Feb 14 2022 Milan Crha - 41.4-1 +- Resolves: #2054082 (Update to 41.4) + +* Mon Jan 31 2022 Milan Crha - 41.3-2 +- Resolves: #2048397 (Optional software repos can't be disabled) + +* Mon Jan 10 2022 Milan Crha - 41.3-1 +- Resolves: #2038805 (Update to 41.3) + +* Mon Dec 06 2021 Milan Crha - 41.2-1 +- Resolves: #2029323 (Update to 41.2) + +* Mon Nov 01 2021 Milan Crha - 41.1-1 +- Resolves: #2018871 (Update to 41.1) + +* Tue Oct 12 2021 Milan Crha - 41.0-2 +- Resolves: #2012699 (Backport changes from Fedora 35) +- Add patch to mark compulsory only repos, not apps from it +- Resolves: #2011176 (flathub repo can't be added through gnome-software) +- Resolves: #2010660 (gs-repos-dialog: Can show also desktop applications) +- Resolves: #2010353 (Optional repos cannot be disabled) +- Resolves: #2010740 (Refresh on repository setup change) +- Resolves: #2009063 (Correct update notifications) + +* Mon Sep 20 2021 Milan Crha - 41.0-1 +- Resolves: #2005770 (Update to 41.0) + +* Mon Aug 23 2021 Kalev Lember - 41~beta-1 +- Resolves: #1995567 (Update to 41.beta) + +* Fri Aug 13 2021 Milan Crha - 40.4-1 +- Resolves: #1992452 (Update to 40.4) + +* Mon Aug 09 2021 Mohan Boddu - 40.3-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jul 19 2021 Milan Crha - 40.3-2 +- Resolves: #1983553 +- 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 +- Related: #1981296 (Update to 40.3) + +* Tue Jun 22 2021 Mohan Boddu - 40.2-2 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Fri Jun 04 2021 Milan Crha - 40.2-1 +- Related: #1967855 (Update to 40.2) + +* Mon May 03 2021 Milan Crha - 40.1-2 +- Related: #1952776 (Add patch for crash under gs_details_page_refresh_all() (i#1227)) + +* Mon May 03 2021 Milan Crha - 40.1-1 +- Related: #1952776 (Update to 40.1) + +* Thu Apr 15 2021 Mohan Boddu - 40.0-3 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Mar 26 2021 Kalev Lember - 40.0-2 +- Rebuild to fix sysprof-capture symbols leaking into libraries consuming it + +* Mon Mar 22 2021 Kalev Lember - 40.0-1 +- Update to 40.0 + +* 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) + +* Tue Feb 16 2021 Kalev Lember - 40~beta-1 +- Update to 40.beta + +* Mon Feb 08 2021 Richard Hughes - 3.38.1-1 +- New upstream version +- Fix package details not found for some packages +- Ignore harmless warnings when using unusual fwupd versions + +* Tue Jan 26 2021 Fedora Release Engineering - 3.38.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 14 2020 Kalev Lember - 3.38.0-2 +- Revert an optimization that broke packagekit updates + +* Fri Sep 11 2020 Kalev Lember - 3.38.0-1 +- Update to 3.38.0 + +* Tue Sep 01 2020 Kalev Lember - 3.37.92-1 +- Update to 3.37.92 + +* Tue Aug 18 2020 Richard Hughes - 3.36.1-4 +- Rebuild for the libxmlb API bump. + +* Sat Aug 01 2020 Fedora Release Engineering - 3.36.1-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 3.36.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* 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 + +* 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 + +* 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. + +* Tue Jan 28 2020 Fedora Release Engineering - 3.35.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 25 2019 Richard Hughes - 3.35.2-1 +- Update to 3.35.2. + +* Fri Oct 18 2019 Kalev Lember - 3.34.1-6 +- Backport patches to fix a crash in gs_flatpak_get_installation (#1762689) + +* Mon Oct 14 2019 Kalev Lember - 3.34.1-5 +- Update renamed appstream ids for GNOME 3.34 + +* Fri Oct 11 2019 Richard Hughes - 3.34.1-4 +- Backport a simpler to correct the installed applications +- Resolves #1759193 + +* Fri Oct 11 2019 Richard Hughes - 3.34.1-3 +- Backport a better patch to correct the installed applications +- Resolves #1759193 + +* Thu Oct 10 2019 Richard Hughes - 3.34.1-2 +- Backport a patch to correct the applications shown in the installed list +- Resolves #1759193 + +* Mon Oct 07 2019 Kalev Lember - 3.34.1-1 +- Update to 3.34.1 + +* Wed Sep 25 2019 Kalev Lember - 3.34.0-2 +- Fix third party repo enabling not working (#1749566) + +* Mon Sep 09 2019 Kalev Lember - 3.34.0-1 +- Update to 3.34.0 + +* Thu Jul 25 2019 Fedora Release Engineering - 3.32.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jul 11 2019 Kalev Lember - 3.32.4-1 +- Update to 3.32.4 + +* Thu Jul 11 2019 Richard Hughes - 3.32.3-5 +- Disable the snap plugin. Canonical upstream are not going to be installing + gnome-software in the next LTS, prefering instead to ship a "Snap Store" + rather than GNOME Software. +- Enabling the snap plugin also enables the Snap Store which violated the same + rules which prevented us installing Flathub by default. +- The existing plugin is barely maintained and I don't want to be the one + responsible when it breaks. + +* Thu Jun 13 2019 Kalev Lember - 3.32.3-4 +- Rebuild for accidental libflatpak ABI break + +* Mon Jun 10 22:13:19 CET 2019 Igor Gnatenko - 3.32.3-3 +- Rebuild for RPM 4.15 + +* Mon Jun 10 15:42:01 CET 2019 Igor Gnatenko - 3.32.3-2 +- Rebuild for RPM 4.15 + +* Fri May 24 2019 Kalev Lember - 3.32.3-1 +- Update to 3.32.3 + +* Tue May 07 2019 Kalev Lember - 3.32.2-1 +- Update to 3.32.2 + +* Fri May 03 2019 Kalev Lember - 3.32.1-4 +- Update a patch to final upstream version + +* Tue Apr 30 2019 Kalev Lember - 3.32.1-3 +- Backport a number of rpm-ostree fixes + +* Tue Apr 16 2019 Adam Williamson - 3.32.1-2 +- Rebuild with Meson fix for #1699099 + +* Mon Apr 15 2019 Kalev Lember - 3.32.1-1 +- Update to 3.32.1 + +* Fri Apr 05 2019 Neal Gompa - 3.32.0-6 +- Require snapd instead of the obsolete snapd-login-service for snap subpackage + +* Wed Apr 03 2019 Kalev Lember - 3.32.0-5 +- Switch to system libdnf + +* Fri Mar 29 2019 Kalev Lember - 3.32.0-4 +- Rebuild for new rpm-ostree + +* Fri Mar 15 2019 Kalev Lember - 3.32.0-3 +- Add nm-connection-editor.desktop to Utilities folder (#1686851) + +* Tue Mar 12 2019 Kalev Lember - 3.32.0-2 +- Backport a patch to add shadows to app icons + +* Mon Mar 11 2019 Kalev Lember - 3.32.0-1 +- Update to 3.32.0 + +* Tue Mar 05 2019 Kalev Lember - 3.31.92-1 +- Update to 3.31.92 + +* Thu Feb 28 2019 Kalev Lember - 3.31.90-4 +- Change PackageKit requires to recommends + +* Wed Feb 27 2019 Kalev Lember - 3.31.90-3 +- Remove unneeded dpkg plugin + +* Mon Feb 25 2019 Kalev Lember - 3.31.90-2 +- Split rpm-ostree backend to its own subpackage + +* Sun Feb 24 2019 Kalev Lember - 3.31.90-1 +- Update to 3.31.90 +- Add "anaconda" repo to official repos list (#1679693) + +* Thu Jan 31 2019 Fedora Release Engineering - 3.31.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 16 2019 Kalev Lember - 3.31.2-1 +- Update to 3.31.2 + +* Fri Dec 14 2018 Kalev Lember - 3.31.1-2 +- Fix offline update notifications to show up (#1659231) + +* Tue Oct 09 2018 Kalev Lember - 3.31.1-1 +- Update to 3.31.1 + +* Fri Oct 05 2018 Kalev Lember - 3.30.2-1 +- Update to 3.30.2 + +* Wed Sep 26 2018 Kalev Lember - 3.30.1-2 +- Add modular repos to official repos list + +* Tue Sep 25 2018 Kalev Lember - 3.30.1-1 +- Update to 3.30.1 + +* Thu Sep 06 2018 Kalev Lember - 3.30.0-1 +- Update to 3.30.0 + +* Tue Aug 28 2018 Richard Hughes - 3.29.92-1 +- Update to 3.29.92 + +* Fri Jul 13 2018 Fedora Release Engineering - 3.29.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed May 09 2018 Kalev Lember - 3.29.1-1 +- Update to 3.29.1 + +* Mon Apr 09 2018 Kalev Lember - 3.28.1-1 +- Update to 3.28.1 + +* Thu Mar 29 2018 Kalev Lember - 3.28.0-5 +- Fix empty OS Updates showing up +- Make rpm-ostree update triggering work + +* Thu Mar 15 2018 Kalev Lember - 3.28.0-4 +- Fix opening results from gnome-shell search provider + +* Wed Mar 14 2018 Kalev Lember - 3.28.0-3 +- Fix crash on initial run with no network (#1554986) + +* Tue Mar 13 2018 Kalev Lember - 3.28.0-2 +- Backport an upstream patch to fix shell extensions app ID + +* Mon Mar 12 2018 Kalev Lember - 3.28.0-1 +- Update to 3.28.0 + +* Sun Mar 11 2018 Kalev Lember - 3.27.92-3 +- Rebuilt for gspell 1.8 + +* Wed Mar 07 2018 Kalev Lember - 3.27.92-2 +- Move org.gnome.Software.Featured.xml from -editor to main package + +* Mon Mar 05 2018 Kalev Lember - 3.27.92-1 +- Update to 3.27.92 + +* Sun Mar 04 2018 Neal Gompa - 3.27.90-4 +- Drop obsolete snapd-login-service requirement for snap plugin subpackage + +* Mon Feb 19 2018 Adam Williamson - 3.27.90-3 +- Backport fix for RHBZ #1546893 from upstream git + +* Mon Feb 19 2018 Kalev Lember - 3.27.90-2 +- Re-enable rpm-ostree plugin + +* Thu Feb 15 2018 Kalev Lember - 3.27.90-1 +- Update to 3.27.90 +- Temporarily disable the rpm-ostree plugin + +* Tue Feb 13 2018 Björn Esser - 3.27.4-4 +- Rebuild against newer gnome-desktop3 package + +* Thu Feb 08 2018 Kalev Lember - 3.27.4-3 +- Add fedora-workstation-repositories to nonfree-sources schema defaults + +* Wed Feb 07 2018 Fedora Release Engineering - 3.27.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 08 2018 Kalev Lember - 3.27.4-1 +- Update to 3.27.4 +- Drop unused --without packagekit option + +* Fri Jan 05 2018 Igor Gnatenko - 3.27.3-2 +- Remove obsolete scriptlets + +* Sat Dec 16 2017 Kalev Lember - 3.27.3-1 +- Update to 3.27.3 + +* Mon Nov 13 2017 Kalev Lember - 3.27.2-1 +- Update to 3.27.2 + +* Thu Nov 09 2017 Kalev Lember - 3.26.2-1 +- Update to 3.26.2 +- Re-enable fwupd support + +* Tue Oct 31 2017 Kalev Lember - 3.26.1-5 +- Enable the rpm-ostree plugin + +* Wed Oct 25 2017 Kalev Lember - 3.26.1-4 +- Fix "too many results returned" error after distro upgrades (#1496489) + +* Tue Oct 10 2017 Kalev Lember - 3.26.1-3 +- Backport a flatpakref installation fix + +* Mon Oct 09 2017 Richard Hughes - 3.26.1-2 +- Disable fwupd support until we get a 3.27.1 tarball + +* Sun Oct 08 2017 Kalev Lember - 3.26.1-1 +- Update to 3.26.1 + +* Mon Sep 11 2017 Kalev Lember - 3.26.0-1 +- Update to 3.26.0 + +* Sun Aug 27 2017 Kalev Lember - 3.25.91-1 +- Update to 3.25.91 + +* Tue Aug 15 2017 Kalev Lember - 3.25.90-1 +- Update to 3.25.90 + +* Fri Aug 11 2017 Igor Gnatenko - 3.25.4-6 +- Rebuilt after RPM update (№ 3) + +* Thu Aug 10 2017 Igor Gnatenko - 3.25.4-5 +- Rebuilt for RPM soname bump + +* Thu Aug 10 2017 Igor Gnatenko - 3.25.4-4 +- Rebuilt for RPM soname bump + +* Wed Aug 02 2017 Fedora Release Engineering - 3.25.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.25.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Kalev Lember - 3.25.4-1 +- Update to 3.25.4 + +* Tue Jul 18 2017 Kalev Lember - 3.25.3-6 +- Drop a meson workaround now that meson is fixed + +* Wed Jun 28 2017 Neal Gompa - 3.25.3-5 +- Actually properly enable snap subpackage after removing conditional + +* Wed Jun 28 2017 Neal Gompa - 3.25.3-4 +- Remove unnecessary arch-specific conditional for snap subpackage + +* Tue Jun 27 2017 Neal Gompa - 3.25.3-3 +- Ensure snap subpackage is installed if snapd is installed + +* Fri Jun 23 2017 Richard Hughes - 3.24.3-2 +- Enable the snap subpackage + +* Fri Jun 23 2017 Kalev Lember - 3.25.3-1 +- Update to 3.25.3 +- Switch to the meson build system +- Add an -editor subpackage with new banner editor + +* Mon May 15 2017 Richard Hughes - 3.24.3-1 +- Update to 3.23.3 +- Fix a common crash when installing flatpakrepo files +- Ensure we show the banner when upgrades are available + +* Tue May 09 2017 Kalev Lember - 3.24.2-1 +- Update to 3.24.2 + +* Tue Apr 25 2017 Adam Williamson - 3.24.1-2 +- Backport crasher fix from upstream (RHBZ #1444669 / BGO #781217) + +* Tue Apr 11 2017 Kalev Lember - 3.24.1-1 +- Update to 3.24.1 + +* Tue Mar 21 2017 Kalev Lember - 3.24.0-1 +- Update to 3.24.0 + +* Thu Mar 16 2017 Kalev Lember - 3.23.92-1 +- Update to 3.23.92 + +* Mon Feb 27 2017 Richard Hughes - 3.23.91-1 +- Update to 3.23.91 + +* Mon Feb 13 2017 Richard Hughes - 3.23.90-1 +- Update to 3.23.90 + +* Fri Feb 10 2017 Fedora Release Engineering - 3.23.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Dec 15 2016 Richard Hughes - 3.23.3-1 +- Update to 3.23.3 + +* Wed Nov 23 2016 Kalev Lember - 3.23.2-1 +- Update to 3.23.2 + +* Tue Nov 08 2016 Kalev Lember - 3.22.2-1 +- Update to 3.22.2 + +* Wed Oct 12 2016 Kalev Lember - 3.22.1-1 +- Update to 3.22.1 + +* Mon Sep 19 2016 Kalev Lember - 3.22.0-1 +- Update to 3.22.0 + +* Wed Sep 14 2016 Kalev Lember - 3.21.92-1 +- Update to 3.21.92 +- Don't set group tags + +* Thu Sep 01 2016 Kalev Lember - 3.21.91-1 +- Update to 3.21.91 + +* Wed Aug 17 2016 Kalev Lember - 3.21.90-2 +- Rebuilt for fixed libappstream-glib headers + +* Wed Aug 17 2016 Kalev Lember - 3.21.90-1 +- Update to 3.21.90 +- Tighten -devel subpackage dependencies + +* Thu Jul 28 2016 Richard Hughes - 3.21.4-2 +- Allow building without PackageKit for the atomic workstation. + +* Mon Jul 18 2016 Richard Hughes - 3.21.4-1 +- Update to 3.21.4 + +* Thu May 26 2016 Kalev Lember - 3.21.2-2 +- Build with flatpak support + +* Mon May 23 2016 Richard Hughes - 3.21.2-1 +- Update to 3.21.2 + +* Tue May 10 2016 Kalev Lember - 3.21.1-2 +- Require PackageKit 1.1.1 for system upgrade support + +* Mon Apr 25 2016 Richard Hughes - 3.21.1-1 +- Update to 3.21.1 + +* Mon Apr 25 2016 Richard Hughes - 3.20.2-1 +- Update to 3.20.1 +- Allow popular and featured apps to match any plugin +- Do not make the ODRS plugin depend on xdg-app +- Fix many of the os-upgrade issues and implement the latest mockups +- Make all the plugins more threadsafe +- Return all update descriptions newer than the installed version +- Show some non-fatal error messages if installing fails +- Use a background PackageKit transaction when downloading upgrades + +* Wed Apr 13 2016 Kalev Lember - 3.20.1-1 +- Update to 3.20.1 + +* Fri Apr 01 2016 Richard Hughes - 3.20.1-2 +- Set the list of official sources +- Compile with xdg-app support + +* Tue Mar 22 2016 Kalev Lember - 3.20.0-1 +- Update to 3.20.0 + +* Mon Mar 14 2016 Richard Hughes - 3.19.92-1 +- Update to 3.19.92 + +* Thu Mar 03 2016 Kalev Lember - 3.19.91-2 +- Set minimum required json-glib version + +* Mon Feb 29 2016 Richard Hughes - 3.19.91-1 +- Update to 3.19.91 + +* Mon Feb 15 2016 Richard Hughes - 3.19.90-1 +- Update to 3.19.90 + +* Wed Feb 03 2016 Fedora Release Engineering - 3.19.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 15 2016 Richard Hughes - 3.19.4-1 +- Update to 3.19.4 + +* Thu Dec 03 2015 Kalev Lember - 3.18.3-2 +- Require librsvg2 for the gdk-pixbuf svg loader + +* Thu Nov 05 2015 Richard Hughes - 3.18.3-1 +- Update to 3.18.3 +- Use the correct user agent string when downloading firmware +- Fix a crash in the limba plugin +- Fix installing web applications + +* Mon Oct 26 2015 Kalev Lember - 3.18.2-2 +- Fix apps reappearing as installed a few seconds after removal (#1275163) + +* Thu Oct 15 2015 Kalev Lember - 3.18.2-1 +- Update to 3.18.2 + +* Tue Oct 13 2015 Kalev Lember - 3.18.1-1 +- Update to 3.18.1 + +* Wed Oct 07 2015 Kalev Lember - 3.18.0-2 +- Backport two crasher fixes from upstream + +* Mon Sep 21 2015 Kalev Lember - 3.18.0-1 +- Update to 3.18.0 + +* Tue Sep 15 2015 Kalev Lember - 3.17.92-2 +- Update dependency versions + +* Tue Sep 15 2015 Richard Hughes - 3.17.92-1 +- Update to 3.17.92 + +* Thu Sep 10 2015 Richard Hughes - 3.17.91-2 +- Fix firmware updates + +* Thu Sep 03 2015 Kalev Lember - 3.17.91-1 +- Update to 3.17.91 + +* Wed Aug 19 2015 Kalev Lember - 3.17.90-1 +- Update to 3.17.90 + +* Wed Aug 12 2015 Richard Hughes - 3.17.3-1 +- Update to 3.17.3 + +* Wed Jul 22 2015 David King - 3.17.2-3 +- Bump for new gnome-desktop3 + +* Wed Jun 17 2015 Fedora Release Engineering - 3.17.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jun 05 2015 Kalev Lember - 3.17.2-1 +- Update to 3.17.2 + +* Mon May 25 2015 Kalev Lember - 3.17.1-1 +- Update to 3.17.1 + +* Fri May 15 2015 Kalev Lember - 3.16.2-2 +- Fix a crash under Wayland (#1221968) + +* Mon May 11 2015 Kalev Lember - 3.16.2-1 +- Update to 3.16.2 + +* Tue Apr 14 2015 Kalev Lember - 3.16.1-1 +- Update to 3.16.1 + +* Mon Mar 23 2015 Kalev Lember - 3.16.0-1 +- Update to 3.16.0 + +* Mon Mar 16 2015 Kalev Lember - 3.15.92-1 +- Update to 3.15.92 +- Use license macro for the COPYING file +- Add a patch to adapt to gnome-terminal desktop file rename + +* Mon Mar 02 2015 Kalev Lember - 3.15.91-1 +- Update to 3.15.91 + +* Sat Feb 21 2015 Kalev Lember - 3.15.90-3 +- Export DisplayName property on the packagekit session service + +* Thu Feb 19 2015 Kalev Lember - 3.15.90-2 +- Backport a crash fix + +* Tue Feb 17 2015 Richard Hughes - 3.15.90-1 +- Update to 3.15.90 + +* Mon Jan 19 2015 Richard Hughes - 3.15.4-1 +- Update to 3.15.4 + +* Tue Nov 25 2014 Kalev Lember - 3.15.2-1 +- Update to 3.15.2 + +* Thu Nov 13 2014 Richard Hughes - 3.14.2-3 +- Fix non-Fedora build + +* Tue Nov 11 2014 Richard Hughes - 3.14.2-2 +- Backport a patch to fix compilation + +* Mon Nov 10 2014 Kalev Lember - 3.14.2-1 +- Update to 3.14.2 + +* Sat Nov 08 2014 Kalev Lember - 3.14.1-3 +- Update the list of system apps + +* Sat Nov 01 2014 David King - 3.14.1-2 +- Rebuild for new libappstream-glib (#1156494) + +* Mon Oct 13 2014 Kalev Lember - 3.14.1-1 +- Update to 3.14.1 + +* Thu Oct 09 2014 Kalev Lember - 3.14.0-2 +- Depend on gnome-menus for app folder directory entries + +* Mon Sep 22 2014 Kalev Lember - 3.14.0-1 +- Update to 3.14.0 + +* Wed Sep 17 2014 Kalev Lember - 3.13.92-2 +- Set minimum required dependency versions (#1136343) + +* Tue Sep 16 2014 Kalev Lember - 3.13.92-1 +- Update to 3.13.92 +- Replace gnome-system-log with gnome-logs in the system apps list + +* Tue Sep 02 2014 Kalev Lember - 3.13.91-1 +- Update to 3.13.91 + +* Tue Aug 19 2014 Richard Hughes - 3.13.90-1 +- Update to 3.13.90 + +* Sat Aug 16 2014 Fedora Release Engineering - 3.13.5-0.2.git5c89189 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 11 2014 Kalev Lember - 3.13.5-0.1.git5c89189 +- Update to 3.13.5 git snapshot +- Ship HighContrast icons + +* Sun Aug 03 2014 Kalev Lember - 3.13.4-2 +- Replace Epiphany with Firefox in the system apps list + +* Wed Jul 23 2014 Kalev Lember - 3.13.4-1 +- Update to 3.13.4 + +* Wed Jun 25 2014 Kalev Lember - 3.13.3-1 +- Update to 3.13.3 + +* Thu Jun 12 2014 Richard Hughes - 3.13.3-0.2.git7491627 +- Depend on the newly-created appstream-data package and stop shipping + the metadata here. + +* Sat Jun 07 2014 Kalev Lember - 3.13.3-0.1.git7491627 +- Update to 3.13.3 git snapshot + +* Wed May 28 2014 Richard Hughes - 3.13.2-2 +- Rebuild with new metadata. + +* Wed May 28 2014 Kalev Lember - 3.13.2-1 +- Update to 3.13.2 + +* Thu May 15 2014 Kalev Lember - 3.13.1-4 +- Depend on gsettings-desktop-schemas + +* Mon May 12 2014 Richard Hughes - 3.13.1-3 +- Update the metadata and use appstream-util to install the metadata. + +* Wed May 07 2014 Kalev Lember - 3.13.1-2 +- Drop gnome-icon-theme dependency + +* Mon Apr 28 2014 Richard Hughes - 3.13.1-1 +- Update to 3.13.1 + +* Fri Apr 11 2014 Kalev Lember - 3.12.1-2 +- Rebuild with new metadata. + +* Fri Apr 11 2014 Richard Hughes - 3.12.1-1 +- Update to 3.12.1 + +* Mon Mar 24 2014 Richard Hughes - 3.12.0-1 +- Update to 3.12.0 + +* Thu Mar 20 2014 Richard Hughes - 3.11.92-1 +- Update to 3.11.92 + +* Tue Mar 18 2014 Richard Hughes - 3.11.91-2 +- Rebuild with new metadata. + +* Sat Mar 08 2014 Richard Hughes - 3.11.91-1 +- Update to 3.11.91 + +* Tue Feb 18 2014 Richard Hughes - 3.11.90-1 +- Update to 3.11.90 + +* Mon Feb 03 2014 Richard Hughes - 3.11.5-2 +- Require epiphany-runtime rather than the full application + +* Mon Feb 03 2014 Richard Hughes - 3.11.5-1 +- Update to 3.11.5 + +* Thu Jan 30 2014 Richard Hughes - 3.11.4-3 +- Rebuild for libpackagekit-glib soname bump + +* Wed Jan 22 2014 Richard Hughes - 3.11.4-2 +- Rebuild with metadata that has the correct screenshot url. + +* Thu Jan 16 2014 Richard Hughes - 3.11.4-1 +- Update to 3.11.4 + +* Tue Dec 17 2013 Richard Hughes - 3.11.3-1 +- Update to 3.11.3 + +* Tue Nov 19 2013 Richard Hughes - 3.11.2-1 +- Update to 3.11.2 + +* Tue Oct 29 2013 Richard Hughes - 3.11.1-1 +- Update to 3.11.1 +- Add a gnome shell search provider +- Add a module to submit the user rating to the fedora-tagger web service +- Add support for 'missing' codecs that we know exist but we can't install +- Add support for epiphany web applications +- Handle offline installation sensibly +- Save the user rating if the user clicks the rating stars +- Show a modal error message if install or remove actions failed +- Show a star rating on the application details page +- Show font screenshots +- Show more detailed version numbers when required +- Show screenshots to each application + +* Wed Sep 25 2013 Richard Hughes 3.10.0-1 +- New upstream release. +- New metadata for fedora, updates and updates-testing +- Add a plugin to query the PackageKit prepared-update file directly +- Do not clear the offline-update trigger if rebooting succeeded +- Do not load incompatible projects when parsing AppStream data +- Lots of updated translations +- Show the window right away when starting + +* Fri Sep 13 2013 Richard Hughes 3.9.3-1 +- New upstream release. +- Lots of new and fixed UI and updated metadata for Fedora 20 + +* Tue Sep 03 2013 Richard Hughes 3.9.2-1 +- New upstream release. +- Allow stock items in the AppStream XML +- Extract the AppStream URL and description from the XML +- Only present the window when the overview is complete +- Return the subcategories sorted by name + +* Mon Sep 02 2013 Richard Hughes 3.9.1-1 +- New upstream release which is a technical preview for the alpha. + +* Sun Sep 01 2013 Richard Hughes 0.1-3 +- Use buildroot not RPM_BUILD_ROOT +- Own all gnome-software directories +- Drop gtk-update-icon-cache requires and the mime database functionality + +* Thu Aug 29 2013 Richard Hughes 0.1-2 +- Add call to desktop-file-validate and fix other review comments. + +* Wed Aug 28 2013 Richard Hughes 0.1-1 +- First release for Fedora package review +