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>


Reply via email to