trivial: Fix up all apps when building the store

This commit is contained in:
Richard Hughes 2018-05-08 14:21:02 +01:00
parent 7383ce263b
commit 27bf9ecfbb

View File

@ -1241,12 +1241,6 @@ fu_engine_install (FuEngine *self,
return FALSE;
}
/* possibly convert the version from 0x to dotted */
fu_engine_vendor_quirk_release_version (self, app);
/* possibly convert the flashed provide to a GUID */
fu_engine_vendor_fixup_provide_value (app);
/* check we can install it */
if (!fu_engine_check_requirements (self, app, device, error))
return FALSE;
@ -1624,12 +1618,6 @@ fu_engine_get_action_id_for_device (FuEngine *self,
return NULL;
}
/* possibly convert the version from 0x to dotted */
fu_engine_vendor_quirk_release_version (self, app);
/* possibly convert the flashed provide to a GUID */
fu_engine_vendor_fixup_provide_value (app);
/* get latest release */
release = as_app_get_release_default (app);
if (release == NULL) {
@ -2045,6 +2033,7 @@ fu_engine_update_metadata (FuEngine *self, const gchar *remote_id,
AsStore *
fu_engine_get_store_from_blob (FuEngine *self, GBytes *blob_cab, GError **error)
{
GPtrArray *apps;
g_autofree gchar *checksum = NULL;
g_autoptr(AsStore) store = NULL;
@ -2060,6 +2049,18 @@ fu_engine_get_store_from_blob (FuEngine *self, GBytes *blob_cab, GError **error)
if (store == NULL)
return NULL;
/* fix all the apps */
apps = as_store_get_apps (store);
for (guint i = 0; i < apps->len; i++) {
AsApp *app = g_ptr_array_index (apps, i);
/* possibly convert the version from 0x to dotted */
fu_engine_vendor_quirk_release_version (self, app);
/* possibly convert the flashed provide to a GUID */
fu_engine_vendor_fixup_provide_value (app);
}
/* get a checksum of the file and use it as the origin */
checksum = g_compute_checksum_for_bytes (G_CHECKSUM_SHA256, blob_cab);
as_store_set_origin (store, checksum);
@ -2119,12 +2120,6 @@ fu_engine_get_result_from_app (FuEngine *self, AsApp *app, GError **error)
if (!fu_keyring_get_release_trust_flags (release, &trust_flags, error))
return NULL;
/* possibly convert the version from 0x to dotted */
fu_engine_vendor_quirk_release_version (self, app);
/* possibly convert the flashed provide to a GUID */
fu_engine_vendor_fixup_provide_value (app);
/* create a result with all the metadata in */
fwupd_device_set_description (dev, as_app_get_description (app, NULL));
rel = fwupd_release_new ();