Hello community, here is the log from the commit of package gnome-software for openSUSE:Factory checked in at 2019-07-22 12:17:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-software (Old) and /work/SRC/openSUSE:Factory/.gnome-software.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-software" Mon Jul 22 12:17:56 2019 rev:65 rq:714727 version:3.32.4 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-software/gnome-software.changes 2019-06-02 15:12:48.298171186 +0200 +++ /work/SRC/openSUSE:Factory/.gnome-software.new.4126/gnome-software.changes 2019-07-22 12:17:58.631702360 +0200 @@ -1,0 +2,18 @@ +Thu Jul 11 17:51:39 UTC 2019 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 3.32.4: + + Fix an issue that led to some packages with multiple appdata + files not correctly showing up on the updates page. + + Fix various problems with flatpak branch handling that were + causing issues with freedesktop.org runtime updates. + + Fix flatpak update versions to correctly show up. + + Various other minor bug fixes. + +------------------------------------------------------------------- +Fri Jul 5 09:26:03 UTC 2019 - Bjørn Lie <bjorn....@gmail.com> + +- Drop pkgconfig(valgrind) BuildRequires, and pass valgrind=false + to meson. Fixes build for arm, and we do not really need valgrind + integration. + +------------------------------------------------------------------- Old: ---- gnome-software-3.32.3.tar.xz New: ---- gnome-software-3.32.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-software.spec ++++++ --- /var/tmp/diff_new_pack.j4aNZV/_old 2019-07-22 12:17:59.719702074 +0200 +++ /var/tmp/diff_new_pack.j4aNZV/_new 2019-07-22 12:17:59.723702073 +0200 @@ -18,7 +18,7 @@ %define gs_plugin_api 13 Name: gnome-software -Version: 3.32.3 +Version: 3.32.4 Release: 0 Summary: GNOME Software Store License: GPL-2.0-or-later @@ -48,7 +48,6 @@ BuildRequires: pkgconfig(packagekit-glib2) >= 1.1.0 BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(sqlite3) -BuildRequires: pkgconfig(valgrind) BuildRequires: pkgconfig(xmlb) >= 0.1.7 # boo#1090042 Requires: fwupd @@ -76,6 +75,7 @@ %build %meson \ -Dtests=false \ + -Dvalgrind=false \ %{nil} %meson_build ++++++ gnome-software-3.32.3.tar.xz -> gnome-software-3.32.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/NEWS new/gnome-software-3.32.4/NEWS --- old/gnome-software-3.32.3/NEWS 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/NEWS 2019-07-11 18:08:32.000000000 +0200 @@ -1,3 +1,15 @@ +Version 3.32.4 +~~~~~~~~~~~~~~ +Released: 2019-07-11 + +This is a stable release with the following changes: + * Fix an issue that led to some packages with multiple appdata files not + correctly showing up on the updates page + * Fix various problems with flatpak branch handling that were causing issues + with freedesktop.org runtime updates + * Fix flatpak update versions to correctly show up + * Various other minor bug fixes + Version 3.32.3 ~~~~~~~~~~~~~~ Released: 2019-05-24 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/RELEASE new/gnome-software-3.32.4/RELEASE --- old/gnome-software-3.32.3/RELEASE 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/RELEASE 2019-07-11 18:08:32.000000000 +0200 @@ -2,14 +2,14 @@ Write release entries: -git log --format="%s" --cherry-pick --right-only 3.32.2... | grep -i -v trivial | grep -v Merge | sort | uniq +git log --format="%s" --cherry-pick --right-only 3.32.3... | grep -i -v trivial | grep -v Merge | sort | uniq Add any user visible changes into data/appdata/org.gnome.Software.appdata.xml.in Generate NEWS file: appstream-util appdata-to-news data/appdata/org.gnome.Software.appdata.xml.in > NEWS -git commit -a -m "Release version 3.32.3" -git tag -s 3.32.3 -m "==== Version 3.32.3 ====" +git commit -a -m "Release version 3.32.4" +git tag -s 3.32.4 -m "==== Version 3.32.4 ====" <enter password> ninja-build dist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/data/appdata/org.gnome.Software.appdata.xml.in new/gnome-software-3.32.4/data/appdata/org.gnome.Software.appdata.xml.in --- old/gnome-software-3.32.3/data/appdata/org.gnome.Software.appdata.xml.in 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/data/appdata/org.gnome.Software.appdata.xml.in 2019-07-11 18:08:32.000000000 +0200 @@ -46,6 +46,19 @@ Validate with `appstream-util validate *.appdata.xml` --> <releases> + <release date="2019-07-11" version="3.32.4"> + <description> + <p> + This is a stable release with the following changes: + </p> + <ul> + <li>Fix an issue that led to some packages with multiple appdata files not correctly showing up on the updates page</li> + <li>Fix various problems with flatpak branch handling that were causing issues with freedesktop.org runtime updates</li> + <li>Fix flatpak update versions to correctly show up</li> + <li>Various other minor bug fixes</li> + </ul> + </description> + </release> <release date="2019-05-24" version="3.32.3"> <description> <p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/lib/gs-app.c new/gnome-software-3.32.4/lib/gs-app.c --- old/gnome-software-3.32.3/lib/gs-app.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/lib/gs-app.c 2019-07-11 18:08:32.000000000 +0200 @@ -4323,7 +4323,7 @@ */ pspec = g_param_spec_uint64 ("pending-action", NULL, NULL, 0, G_MAXUINT64, 0, - G_PARAM_READABLE | G_PARAM_PRIVATE); + G_PARAM_READABLE); g_object_class_install_property (object_class, PROP_PENDING_ACTION, pspec); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/lib/gs-plugin-types.h new/gnome-software-3.32.4/lib/gs-plugin-types.h --- old/gnome-software-3.32.3/lib/gs-plugin-types.h 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/lib/gs-plugin-types.h 2019-07-11 18:08:32.000000000 +0200 @@ -221,7 +221,7 @@ * @GS_PLUGIN_ACTION_REFINE: Refine the application * @GS_PLUGIN_ACTION_REFRESH: Refresh all the sources * @GS_PLUGIN_ACTION_FILE_TO_APP: Convert the file to an application - * @GS_PLUGIN_ACTION_URL_TO_APP: Convert the file to an application + * @GS_PLUGIN_ACTION_URL_TO_APP: Convert the URI to an application * @GS_PLUGIN_ACTION_GET_RECENT: Get the apps recently released * @GS_PLUGIN_ACTION_GET_UPDATES_HISTORICAL: Get the list of historical updates * @GS_PLUGIN_ACTION_INITIALIZE: Initialize the plugin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/meson.build new/gnome-software-3.32.4/meson.build --- old/gnome-software-3.32.3/meson.build 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/meson.build 2019-07-11 18:08:32.000000000 +0200 @@ -1,5 +1,5 @@ project('gnome-software', 'c', - version : '3.32.3', + version : '3.32.4', license : 'GPL-2.0+', default_options : ['warning_level=1', 'c_std=c99'], meson_version : '>=0.46.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/core/gs-appstream.c new/gnome-software-3.32.4/plugins/core/gs-appstream.c --- old/gnome-software-3.32.3/plugins/core/gs-appstream.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/core/gs-appstream.c 2019-07-11 18:08:32.000000000 +0200 @@ -834,6 +834,22 @@ const gchar *kind = xb_node_get_attr (bundle, "type"); gs_app_add_source (app, xb_node_get_text (bundle)); gs_app_set_bundle_kind (app, as_bundle_kind_from_string (kind)); + + /* get the type/name/arch/branch */ + if (gs_app_get_bundle_kind (app) == AS_BUNDLE_KIND_FLATPAK) { + g_auto(GStrv) split = g_strsplit (xb_node_get_text (bundle), "/", -1); + if (g_strv_length (split) != 4) { + g_set_error (error, + GS_PLUGIN_ERROR, + GS_PLUGIN_ERROR_NOT_SUPPORTED, + "invalid ID %s for a flatpak ref", + xb_node_get_text (bundle)); + return FALSE; + } + + /* we only need the branch for the unique ID */ + gs_app_set_branch (app, split[3]); + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/core/gs-plugin-appstream.c new/gnome-software-3.32.4/plugins/core/gs-plugin-appstream.c --- old/gnome-software-3.32.3/plugins/core/gs-plugin-appstream.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/core/gs-plugin-appstream.c 2019-07-11 18:08:32.000000000 +0200 @@ -56,6 +56,16 @@ g_rw_lock_clear (&priv->silo_lock); } +static const gchar * +gs_plugin_appstream_convert_component_kind (const gchar *kind) +{ + if (g_strcmp0 (kind, "web-application") == 0) + return "webapp"; + if (g_strcmp0 (kind, "console-application") == 0) + return "console"; + return kind; +} + static gboolean gs_plugin_appstream_upgrade_cb (XbBuilderFixup *self, XbBuilderNode *bn, @@ -74,6 +84,11 @@ xb_builder_node_set_element (bn, "component"); } else if (g_strcmp0 (xb_builder_node_get_element (bn), "metadata") == 0) { xb_builder_node_set_element (bn, "custom"); + } else if (g_strcmp0 (xb_builder_node_get_element (bn), "component") == 0) { + const gchar *type_old = xb_builder_node_get_attr (bn, "type"); + const gchar *type_new = gs_plugin_appstream_convert_component_kind (type_old); + if (type_old != type_new) + xb_builder_node_set_attr (bn, "type", type_new); } return TRUE; } @@ -145,7 +160,7 @@ } /* fix up any legacy installed files */ - fixup = xb_builder_fixup_new ("AppStreamUpgrade", + fixup = xb_builder_fixup_new ("AppStreamUpgrade2", gs_plugin_appstream_upgrade_cb, plugin, NULL); xb_builder_fixup_set_max_depth (fixup, 3); @@ -359,7 +374,7 @@ xb_builder_source_add_fixup (source, fixup1); /* fix up any legacy installed files */ - fixup2 = xb_builder_fixup_new ("AppStreamUpgrade", + fixup2 = xb_builder_fixup_new ("AppStreamUpgrade2", gs_plugin_appstream_upgrade_cb, plugin, NULL); xb_builder_fixup_set_max_depth (fixup2, 3); @@ -751,16 +766,19 @@ /* find all apps when matching any prefixes */ for (guint j = 0; j < sources->len; j++) { const gchar *pkgname = g_ptr_array_index (sources, j); - g_autofree gchar *xpath = NULL; g_autoptr(GRWLockReaderLocker) locker = NULL; - g_autoptr(GPtrArray) components = NULL; + g_autoptr(GString) xpath = g_string_new (NULL); + g_autoptr(XbNode) component = NULL; locker = g_rw_lock_reader_locker_new (&priv->silo_lock); - xpath = g_strdup_printf ("components/component/pkgname[text()='%s']/..", - pkgname); - components = xb_silo_query (priv->silo, xpath, 0, &error_local); - if (components == NULL) { + /* prefer actual apps and then fallback to anything else */ + xb_string_append_union (xpath, "components/component[@type='desktop']/pkgname[text()='%s']/..", pkgname); + xb_string_append_union (xpath, "components/component[@type='console']/pkgname[text()='%s']/..", pkgname); + xb_string_append_union (xpath, "components/component[@type='webapp']/pkgname[text()='%s']/..", pkgname); + xb_string_append_union (xpath, "components/component/pkgname[text()='%s']/..", pkgname); + component = xb_silo_query_first (priv->silo, xpath->str, &error_local); + if (component == NULL) { if (g_error_matches (error_local, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) continue; if (g_error_matches (error_local, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT)) @@ -768,13 +786,9 @@ g_propagate_error (error, g_steal_pointer (&error_local)); return FALSE; } - for (guint i = 0; i < components->len; i++) { - XbNode *component = g_ptr_array_index (components, i); - if (!gs_appstream_refine_app (plugin, app, priv->silo, - component, flags, error)) - return FALSE; - gs_plugin_appstream_set_compulsory_quirk (app, component); - } + if (!gs_appstream_refine_app (plugin, app, priv->silo, component, flags, error)) + return FALSE; + gs_plugin_appstream_set_compulsory_quirk (app, component); } /* success */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak-app.c new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak-app.c --- old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak-app.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak-app.c 2019-07-11 18:08:32.000000000 +0200 @@ -24,12 +24,6 @@ } const gchar * -gs_flatpak_app_get_ref_branch (GsApp *app) -{ - return gs_app_get_metadata_item (app, "flatpak::RefBranch"); -} - -const gchar * gs_flatpak_app_get_commit (GsApp *app) { return gs_app_get_metadata_item (app, "flatpak::Commit"); @@ -94,7 +88,7 @@ const gchar *ref_kind_as_str = gs_flatpak_app_get_ref_kind_as_str (app); const gchar *ref_name = gs_flatpak_app_get_ref_name (app); const gchar *ref_arch = gs_flatpak_app_get_ref_arch (app); - const gchar *ref_branch = gs_flatpak_app_get_ref_branch (app); + const gchar *ref_branch = gs_app_get_branch (app); g_return_val_if_fail (ref_kind_as_str != NULL, NULL); g_return_val_if_fail (ref_name != NULL, NULL); @@ -121,12 +115,6 @@ } void -gs_flatpak_app_set_ref_branch (GsApp *app, const gchar *val) -{ - gs_app_set_metadata (app, "flatpak::RefBranch", val); -} - -void gs_flatpak_app_set_commit (GsApp *app, const gchar *val) { gs_app_set_metadata (app, "flatpak::Commit", val); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak-app.h new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak-app.h --- old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak-app.h 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak-app.h 2019-07-11 18:08:32.000000000 +0200 @@ -24,7 +24,6 @@ const gchar *gs_flatpak_app_get_ref_name (GsApp *app); const gchar *gs_flatpak_app_get_ref_arch (GsApp *app); -const gchar *gs_flatpak_app_get_ref_branch (GsApp *app); FlatpakRefKind gs_flatpak_app_get_ref_kind (GsApp *app); const gchar *gs_flatpak_app_get_ref_kind_as_str (GsApp *app); gchar *gs_flatpak_app_get_ref_display (GsApp *app); @@ -40,8 +39,6 @@ const gchar *val); void gs_flatpak_app_set_ref_arch (GsApp *app, const gchar *val); -void gs_flatpak_app_set_ref_branch (GsApp *app, - const gchar *val); void gs_flatpak_app_set_ref_kind (GsApp *app, FlatpakRefKind ref_kind); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak.c new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak.c --- old/gnome-software-3.32.3/plugins/flatpak/gs-flatpak.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/flatpak/gs-flatpak.c 2019-07-11 18:08:32.000000000 +0200 @@ -205,16 +205,18 @@ static void gs_flatpak_set_metadata (GsFlatpak *self, GsApp *app, FlatpakRef *xref) { + g_autofree gchar *ref_tmp = flatpak_ref_format_ref (FLATPAK_REF (xref)); + /* core */ gs_flatpak_claim_app (self, app); gs_app_set_branch (app, flatpak_ref_get_branch (xref)); + gs_app_add_source (app, ref_tmp); gs_plugin_refine_item_scope (self, app); /* flatpak specific */ gs_flatpak_app_set_ref_kind (app, flatpak_ref_get_kind (xref)); gs_flatpak_app_set_ref_name (app, flatpak_ref_get_name (xref)); gs_flatpak_app_set_ref_arch (app, flatpak_ref_get_arch (xref)); - gs_flatpak_app_set_ref_branch (app, flatpak_ref_get_branch (xref)); gs_flatpak_app_set_commit (app, flatpak_ref_get_commit (xref)); /* map the flatpak kind to the gnome-software kind */ @@ -1615,7 +1617,7 @@ gs_flatpak_app_get_ref_kind (app), gs_flatpak_app_get_ref_name (app), gs_flatpak_app_get_ref_arch (app), - gs_flatpak_app_get_ref_branch (app), + gs_app_get_branch (app), cancellable, &error_local); if (xref != NULL) { @@ -1647,7 +1649,7 @@ gs_flatpak_app_get_ref_kind_as_str (app), gs_flatpak_app_get_ref_name (app), gs_flatpak_app_get_ref_arch (app), - gs_flatpak_app_get_ref_branch (app)); + gs_app_get_branch (app)); xref = flatpak_ref_parse (id, error); if (xref == NULL) { gs_flatpak_error_convert (error); @@ -1691,14 +1693,14 @@ if (g_strcmp0 (origin, gs_app_get_origin (app)) == 0 && g_strcmp0 (name, gs_flatpak_app_get_ref_name (app)) == 0 && g_strcmp0 (arch, gs_flatpak_app_get_ref_arch (app)) == 0 && - g_strcmp0 (branch, gs_flatpak_app_get_ref_branch (app)) == 0) { + g_strcmp0 (branch, gs_app_get_branch (app)) == 0) { ref = g_object_ref (ref_tmp); break; } } if (ref != NULL) { g_debug ("marking %s as installed with flatpak", - gs_app_get_id (app)); + gs_app_get_unique_id (app)); gs_flatpak_set_metadata_installed (self, app, ref); if (gs_app_get_state (app) == AS_APP_STATE_UNKNOWN) gs_app_set_state (app, AS_APP_STATE_INSTALLED); @@ -1720,12 +1722,12 @@ if (flatpak_remote_get_disabled (xremote)) { g_debug ("%s is available with flatpak " "but %s is disabled", - gs_app_get_id (app), + gs_app_get_unique_id (app), flatpak_remote_get_name (xremote)); gs_app_set_state (app, AS_APP_STATE_UNAVAILABLE); } else { g_debug ("marking %s as available with flatpak", - gs_app_get_id (app)); + gs_app_get_unique_id (app)); gs_app_set_state (app, AS_APP_STATE_AVAILABLE); } } else { @@ -1798,7 +1800,6 @@ gs_flatpak_app_set_ref_kind (app, FLATPAK_REF_KIND_RUNTIME); gs_flatpak_app_set_ref_name (app, split[0]); gs_flatpak_app_set_ref_arch (app, split[1]); - gs_flatpak_app_set_ref_branch (app, split[2]); /* save in the cache */ gs_plugin_cache_add (self->plugin, NULL, app); @@ -1838,8 +1839,6 @@ return FALSE; } - /* we always get this, but it's a low bar... */ - gs_app_add_kudo (app, GS_APP_KUDO_SANDBOXED); shared = g_key_file_get_string_list (kf, "Context", "shared", NULL, NULL); if (shared != NULL) { /* SHM isn't secure enough */ @@ -1871,6 +1870,9 @@ gs_app_set_runtime (app, app_runtime); } + /* we always get this, but it's a low bar... */ + gs_app_add_kudo (app, GS_APP_KUDO_SANDBOXED); + return TRUE; } @@ -1940,7 +1942,7 @@ gs_flatpak_app_get_ref_kind_as_str (app), gs_flatpak_app_get_ref_name (app), gs_flatpak_app_get_ref_arch (app), - gs_flatpak_app_get_ref_branch (app), + gs_app_get_branch (app), "active", "metadata", NULL); @@ -1973,7 +1975,7 @@ gs_flatpak_app_get_ref_kind (app), gs_flatpak_app_get_ref_name (app), gs_flatpak_app_get_ref_arch (app), - gs_flatpak_app_get_ref_branch (app), + gs_app_get_branch (app), cancellable, error); if (ref == NULL) @@ -2026,7 +2028,7 @@ return FALSE; if (gs_app_get_state (app_runtime) == AS_APP_STATE_INSTALLED) { g_debug ("runtime %s is already installed, so not adding size", - gs_app_get_id (app_runtime)); + gs_app_get_unique_id (app_runtime)); } else { if (!gs_plugin_refine_item_size (self, app_runtime, @@ -2103,6 +2105,10 @@ case AS_APP_STATE_AVAILABLE_LOCAL: gs_app_set_version (app, version); break; + case AS_APP_STATE_UPDATABLE: + case AS_APP_STATE_UPDATABLE_LIVE: + gs_app_set_update_version (app, version); + break; default: g_debug ("%s is not installed, so ignoring version of %s", gs_app_get_unique_id (app), version); @@ -2117,19 +2123,26 @@ GsPluginRefineFlags flags, GError **error) { - const gchar *id = gs_app_get_id (app); const gchar *origin = gs_app_get_origin (app); + const gchar *source = gs_app_get_source_default (app); + g_autofree gchar *source_safe = NULL; g_autofree gchar *xpath = NULL; + g_autoptr(GError) error_local = NULL; g_autoptr(XbNode) component = NULL; - if (id == NULL) + if (origin == NULL || source == NULL) return TRUE; - /* find using ID and origin */ - xpath = g_strdup_printf ("components[@origin='%s']/component/id[text()='%s']/..", origin, id); - component = xb_silo_query_first (silo, xpath, NULL); - if (component == NULL) + /* find using source and origin */ + source_safe = xb_string_escape (source); + xpath = g_strdup_printf ("components[@origin='%s']/component/bundle[@type='flatpak'][text()='%s']/..", + origin, source_safe); + component = xb_silo_query_first (silo, xpath, &error_local); + if (component == NULL) { + g_debug ("no match for %s, cannot fall back to %s: %s", + xpath, gs_app_get_id (app), error_local->message); return TRUE; + } if (!gs_appstream_refine_app (self->plugin, app, silo, component, flags, error)) return FALSE; @@ -2186,7 +2199,7 @@ if (flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION) { if (gs_app_get_version (app) == NULL) { const gchar *branch; - branch = gs_flatpak_app_get_ref_branch (app); + branch = gs_app_get_branch (app); gs_app_set_version (app, branch); } } @@ -2294,29 +2307,11 @@ GCancellable *cancellable, GError **error) { - GsApp *runtime; - - /* check the runtime is installed */ - runtime = gs_app_get_runtime (app); - if (runtime != NULL) { - if (!gs_flatpak_refine_app_state (self, runtime, cancellable, error)) - return FALSE; - if (!gs_app_is_installed (runtime)) { - g_set_error_literal (error, - GS_PLUGIN_ERROR, - GS_PLUGIN_ERROR_NOT_SUPPORTED, - "runtime is not installed"); - gs_utils_error_add_origin_id (error, runtime); - gs_plugin_cache_add (self->plugin, NULL, runtime); - return FALSE; - } - } - /* launch the app */ if (!flatpak_installation_launch (self->installation, gs_flatpak_app_get_ref_name (app), gs_flatpak_app_get_ref_arch (app), - gs_flatpak_app_get_ref_branch (app), + gs_app_get_branch (app), NULL, cancellable, error)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/plugins/flatpak/gs-self-test.c new/gnome-software-3.32.4/plugins/flatpak/gs-self-test.c --- old/gnome-software-3.32.3/plugins/flatpak/gs-self-test.c 2019-05-24 21:51:51.000000000 +0200 +++ new/gnome-software-3.32.4/plugins/flatpak/gs-self-test.c 2019-07-11 18:08:32.000000000 +0200 @@ -1337,7 +1337,6 @@ g_assert_cmpstr (gs_app_get_version (app), ==, "1.2.3"); g_assert_cmpstr (gs_app_get_update_version (app), ==, NULL); g_assert_cmpstr (gs_app_get_update_details (app), ==, NULL); - g_assert_cmpint (gs_app_get_progress (app), ==, 0); /* switch to the new repo */ g_assert (unlink ("/var/tmp/self-test/repo") == 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.32.3/src/gs-details-page.ui new/gnome-software-3.32.4/src/gs-details-page.ui --- old/gnome-software-3.32.3/src/gs-details-page.ui 2019-05-24 21:51:52.000000000 +0200 +++ new/gnome-software-3.32.4/src/gs-details-page.ui 2019-07-11 18:08:32.000000000 +0200 @@ -586,6 +586,7 @@ <property name="row_spacing">9</property> <property name="column_spacing">24</property> <property name="hexpand">True</property> + <property name="valign">start</property> <child> <object class="GtkLabel" id="label_details_version_title"> <property name="visible">True</property>