diff --git a/0002-install-rpm-file.patch b/0002-install-rpm-file.patch deleted file mode 100644 index 745ceb7..0000000 --- a/0002-install-rpm-file.patch +++ /dev/null @@ -1,108 +0,0 @@ -From e706a530aeeba360fd60fa7ccde63a147f1e14d4 Mon Sep 17 00:00:00 2001 -Date: Wed, 7 Sep 2022 16:18:50 +0200 -Subject: [PATCH 1/2] gs-details-page: Filter out alternatives without origin - -When an alternative app has no origin set, it cannot be installed or -even shown in the GUI, thus filter such alternatives out. - -Helps https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1895 ---- - src/gs-details-page.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/gs-details-page.c b/src/gs-details-page.c -index cfe3cc797..d35ee0a98 100644 ---- a/src/gs-details-page.c -+++ b/src/gs-details-page.c -@@ -1637,6 +1637,16 @@ _set_app (GsDetailsPage *self, GsApp *app) - self, 0); - } - -+static gboolean -+gs_details_page_filter_origin (GsApp *app, -+ gpointer user_data) -+{ -+ /* Keep only local apps or those, which have an origin set */ -+ return gs_app_get_state (app) == GS_APP_STATE_AVAILABLE_LOCAL || -+ gs_app_get_local_file (app) != NULL || -+ gs_app_get_origin (app) != NULL; -+} -+ - /* show the UI and do operations that should not block page load */ - static void - gs_details_page_load_stage2 (GsDetailsPage *self, -@@ -1676,6 +1686,7 @@ gs_details_page_load_stage2 (GsDetailsPage *self, - query = gs_app_query_new ("alternate-of", self->app, - "refine-flags", GS_DETAILS_PAGE_REFINE_FLAGS, - "dedupe-flags", GS_APP_LIST_FILTER_FLAG_NONE, -+ "filter-func", gs_details_page_filter_origin, - "sort-func", gs_utils_app_sort_priority, - NULL); - plugin_job2 = gs_plugin_job_list_apps_new (query, GS_PLUGIN_LIST_APPS_FLAGS_INTERACTIVE); --- -GitLab - - -From 7962414c7ef62494512a93df5855249debc39415 Mon Sep 17 00:00:00 2001 -Date: Wed, 7 Sep 2022 16:58:34 +0200 -Subject: [PATCH 2/2] gs-details-page: Include local file as an alternative - when not installed - -It's not enough to add the local file to the GsAppList, because it can -contain an app with the same ID, thus the local file app won't be added -to the list. - -Closes https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1895 ---- - src/gs-details-page.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/src/gs-details-page.c b/src/gs-details-page.c -index d35ee0a98..50b80e159 100644 ---- a/src/gs-details-page.c -+++ b/src/gs-details-page.c -@@ -645,6 +645,7 @@ gs_details_page_get_alternates_cb (GObject *source_object, - GtkWidget *select_row = NULL; - GtkWidget *origin_row_by_packaging_format = NULL; - gint origin_row_by_packaging_format_index = 0; -+ guint n_rows = 0; - - self->origin_by_packaging_format = FALSE; - gs_widget_remove_all (self->origin_popover_list_box, (GsRemoveFunc) gtk_list_box_remove); -@@ -699,7 +700,15 @@ gs_details_page_get_alternates_cb (GObject *source_object, - /* add the local file to the list so that we can carry it over when - * switching between alternates */ - if (self->app_local_file != NULL) { -- gs_app_list_add (list, self->app_local_file); -+ if (gs_app_get_state (self->app_local_file) != GS_APP_STATE_INSTALLED) { -+ GtkWidget *row = gs_origin_popover_row_new (self->app_local_file); -+ gtk_widget_show (row); -+ gtk_list_box_append (GTK_LIST_BOX (self->origin_popover_list_box), row); -+ first_row = row; -+ select_row = row; -+ n_rows++; -+ } -+ - /* Do not allow change of the app by the packaging format when it's a local file */ - origin_by_packaging_format = FALSE; - } -@@ -716,6 +725,7 @@ gs_details_page_get_alternates_cb (GObject *source_object, - GsApp *app = gs_app_list_index (list, i); - GtkWidget *row = gs_origin_popover_row_new (app); - gtk_widget_show (row); -+ n_rows++; - if (first_row == NULL) - first_row = row; - if (app == self->app || ( -@@ -766,7 +776,7 @@ gs_details_page_get_alternates_cb (GObject *source_object, - } - - /* Do not show the "selected" check when there's only one app in the list */ -- if (select_row && gs_app_list_length (list) > 1) -+ if (select_row && n_rows > 1) - gs_origin_popover_row_set_selected (GS_ORIGIN_POPOVER_ROW (select_row), TRUE); - else if (select_row) - gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (select_row), FALSE); --- -GitLab - diff --git a/0003-rpm-ostree-download-size.patch b/0003-rpm-ostree-download-size.patch deleted file mode 100644 index e353dd1..0000000 --- a/0003-rpm-ostree-download-size.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 823f49dc59eb1a6a00c80084a8ac37782df124fa Mon Sep 17 00:00:00 2001 -Date: Mon, 26 Sep 2022 15:11:25 +0200 -Subject: [PATCH] rpm-ostree: Mark apps as downloaded - -There was a typo in the changes of the gs_app_set_size_download() API, -the `0` meant the app is downloaded, not that the size is unknown. -With this fixed, the Updates page offers to `Restart & Update`, instead -of `Download`, which does nothing, because the rpm-stree plugin -does not implement corresponding GsPlugin function. ---- - plugins/rpm-ostree/gs-plugin-rpm-ostree.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -index 6984ff95b..1b4f758da 100644 ---- a/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -+++ b/plugins/rpm-ostree/gs-plugin-rpm-ostree.c -@@ -749,7 +749,7 @@ app_from_modified_pkg_variant (GsPlugin *plugin, GVariant *variant) - gs_app_set_management_plugin (app, plugin); - gs_app_add_quirk (app, GS_APP_QUIRK_NEEDS_REBOOT); - app_set_rpm_ostree_packaging_format (app); -- gs_app_set_size_download (app, GS_SIZE_TYPE_UNKNOWN, 0); -+ gs_app_set_size_download (app, GS_SIZE_TYPE_VALID, 0); - gs_app_set_kind (app, AS_COMPONENT_KIND_GENERIC); - gs_app_set_bundle_kind (app, AS_BUNDLE_KIND_PACKAGE); - gs_app_set_scope (app, AS_COMPONENT_SCOPE_SYSTEM); -@@ -788,7 +788,7 @@ app_from_single_pkg_variant (GsPlugin *plugin, GVariant *variant, gboolean addit - gs_app_set_management_plugin (app, plugin); - gs_app_add_quirk (app, GS_APP_QUIRK_NEEDS_REBOOT); - app_set_rpm_ostree_packaging_format (app); -- gs_app_set_size_download (app, GS_SIZE_TYPE_UNKNOWN, 0); -+ gs_app_set_size_download (app, GS_SIZE_TYPE_VALID, 0); - gs_app_set_kind (app, AS_COMPONENT_KIND_GENERIC); - gs_app_set_bundle_kind (app, AS_BUNDLE_KIND_PACKAGE); - gs_app_set_scope (app, AS_COMPONENT_SCOPE_SYSTEM); --- -GitLab -