[gnome-software/gnome-3-26] flatpak: add update_remote_sync call to appstream refresh
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/gnome-3-26] flatpak: add update_remote_sync call to appstream refresh
- Date: Fri, 2 Mar 2018 12:54:40 +0000 (UTC)
commit 732245bde52c20f9e0f8710b9817cfc95cf07991
Author: Robert McQueen <rob endlessm com>
Date: Sat Jan 27 17:12:48 2018 +0100
flatpak: add update_remote_sync call to appstream refresh
This applies changes to the flatpak remote which come from the summary file,
such as updated keys, titles or the URL. Adding it into the appstream refresh
function means it's behind the timestamp checks and skipping broken remotes,
which avoids adding network roundtrips to the refresh. libflatpak caches the
summary file in the common case that the remote details have not changed.
https://phabricator.endlessm.com/T20328
plugins/flatpak/gs-flatpak.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
---
diff --git a/plugins/flatpak/gs-flatpak.c b/plugins/flatpak/gs-flatpak.c
index fdc4d02e..2d4d1979 100644
--- a/plugins/flatpak/gs-flatpak.c
+++ b/plugins/flatpak/gs-flatpak.c
@@ -595,6 +595,7 @@ gs_flatpak_refresh_appstream_remote (GsFlatpak *self,
g_autoptr(AsProfileTask) ptask = NULL;
g_autoptr(GsApp) app_dl = gs_app_new (gs_plugin_get_name (self->plugin));
g_autoptr(GsFlatpakProgressHelper) phelper = NULL;
+ g_autoptr(GError) local_error = NULL;
ptask = as_profile_start (gs_plugin_get_profile (self->plugin),
"%s::refresh-appstream{%s}",
@@ -606,6 +607,18 @@ gs_flatpak_refresh_appstream_remote (GsFlatpak *self,
str = g_strdup_printf (_("Getting flatpak metadata for %s…"), remote_name);
gs_app_set_summary_missing (app_dl, str);
gs_plugin_status_update (self->plugin, app_dl, GS_PLUGIN_STATUS_DOWNLOADING);
+
+ if (!flatpak_installation_update_remote_sync (self->installation,
+ remote_name,
+ cancellable,
+ &local_error)) {
+ g_debug ("Failed to update metadata for remote %s: %s\n",
+ remote_name, local_error->message);
+ gs_flatpak_error_convert (&local_error);
+ g_propagate_error (error, g_steal_pointer (&local_error));
+ return FALSE;
+ }
+
#if FLATPAK_CHECK_VERSION(0,9,4)
phelper = gs_flatpak_progress_helper_new (self->plugin, app_dl);
if (!flatpak_installation_update_appstream_full_sync (self->installation,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]