Blob Blame Raw
From 74fa2ca635a6b7263c58375d8588d8fd3fe16e43 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Wed, 10 Jan 2018 21:33:39 +0000
Subject: [PATCH] Fix firmware downloading using gnome-software compiled
 against fwupd 1.0.x

Always set the AppStream app properties on the FwupdRelease. In some cases we
were returning FwupdRelease objects with no name or summary which gnome-software
was ignoring.
---
 src/fu-engine.c | 21 ++++++++++++---------
 src/fu-util.c   | 12 ++++++++++++
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/src/fu-engine.c b/src/fu-engine.c
index ed4b893..8eb2d4d 100644
--- a/src/fu-engine.c
+++ b/src/fu-engine.c
@@ -218,6 +218,7 @@ fu_engine_device_changed_cb (FuDeviceList *device_list, FuDevice *device, FuEngi
 static void
 fu_engine_set_release_from_appstream (FuEngine *self,
 				      FwupdRelease *rel,
+				      AsApp *app,
 				      AsRelease *release)
 {
 	AsChecksum *csum;
@@ -225,6 +226,15 @@ fu_engine_set_release_from_appstream (FuEngine *self,
 	const gchar *tmp;
 	GBytes *remote_blob;
 
+	/* set from the AsApp */
+	fwupd_release_set_appstream_id (rel, as_app_get_id (app));
+	fwupd_release_set_homepage (rel, as_app_get_url_item (app, AS_URL_KIND_HOMEPAGE));
+	fwupd_release_set_license (rel, as_app_get_project_license (app));
+	fwupd_release_set_name (rel, as_app_get_name (app, NULL));
+	fwupd_release_set_summary (rel, as_app_get_comment (app, NULL));
+	fwupd_release_set_vendor (rel, as_app_get_developer_name (app, NULL));
+	fwupd_release_set_appstream_id (rel, as_app_get_id (app));
+
 	/* find the remote */
 	remote_blob = as_release_get_blob (release, "fwupd::RemoteId");
 	if (remote_blob != NULL) {
@@ -2058,13 +2068,7 @@ fu_engine_get_result_from_app (FuEngine *self, AsApp *app, GError **error)
 	fwupd_device_set_description (dev, as_app_get_description (app, NULL));
 	rel = fwupd_release_new ();
 	fwupd_release_set_trust_flags (rel, trust_flags);
-	fwupd_release_set_homepage (rel, as_app_get_url_item (app, AS_URL_KIND_HOMEPAGE));
-	fwupd_release_set_license (rel, as_app_get_project_license (app));
-	fwupd_release_set_name (rel, as_app_get_name (app, NULL));
-	fwupd_release_set_summary (rel, as_app_get_comment (app, NULL));
-	fwupd_release_set_vendor (rel, as_app_get_developer_name (app, NULL));
-	fwupd_release_set_appstream_id (rel, as_app_get_id (app));
-	fu_engine_set_release_from_appstream (self, rel, release);
+	fu_engine_set_release_from_appstream (self, rel, app, release);
 	fwupd_device_add_release (dev, rel);
 	return g_steal_pointer (&dev);
 }
@@ -2278,8 +2282,7 @@ fu_engine_get_releases_for_device (FuEngine *self, FuDevice *device, GError **er
 			g_autoptr(FwupdRelease) rel = fwupd_release_new ();
 
 			/* create new FwupdRelease for the AsRelease */
-			fwupd_release_set_appstream_id (rel, as_app_get_id (app));
-			fu_engine_set_release_from_appstream (self, rel, release);
+			fu_engine_set_release_from_appstream (self, rel, app, release);
 
 			/* invalid */
 			if (fwupd_release_get_uri (rel) == NULL)
diff --git a/src/fu-util.c b/src/fu-util.c
index b563832..970a6bb 100644
--- a/src/fu-util.c
+++ b/src/fu-util.c
@@ -901,6 +901,12 @@ fu_util_get_releases (FuUtilPrivate *priv, gchar **values, GError **error)
 		/* TRANSLATORS: section header for release version number */
 		fu_util_print_data (_("Version"), fwupd_release_get_version (rel));
 
+		/* TRANSLATORS: section header for the release name */
+		fu_util_print_data (_("Name"), fwupd_release_get_name (rel));
+
+		/* TRANSLATORS: section header for the release one line summary */
+		fu_util_print_data (_("Summary"), fwupd_release_get_summary (rel));
+
 		/* TRANSLATORS: section header for the remote the file is coming from */
 		fu_util_print_data (_("Remote"), fwupd_release_get_remote_id (rel));
 
@@ -1074,6 +1080,12 @@ fu_util_get_updates (FuUtilPrivate *priv, gchar **values, GError **error)
 			fu_util_print_data (_("Update Version"),
 					    fwupd_release_get_version (rel));
 
+			/* TRANSLATORS: section header for the release name */
+			fu_util_print_data (_("Update Name"), fwupd_release_get_name (rel));
+
+			/* TRANSLATORS: section header for the release one line summary */
+			fu_util_print_data (_("Update Summary"), fwupd_release_get_summary (rel));
+
 			/* TRANSLATORS: section header for remote ID, e.g. lvfs-testing */
 			fu_util_print_data (_("Update Remote ID"),
 					    fwupd_release_get_remote_id (rel));
-- 
2.14.3