appstream: Also query the real appdata files during refine
Appstream plugin tries to source two XML file for an installed
app. The first one is the real appdata file (typically present
at /usr/share/metainfo
or similar) and another XML representation
sourced from the .desktop
file of the app present at
/usr/share/applications
.
During construction of the latter XML representation, appstream
plugin adds a fixup XML node <pkgname>
into the XML. This XML
representation was then pushed into the silo.
However, during gs_plugin_refine_app, only the latter XML
representation of the .desktop
file was queried and the
components from the real appdata file (at /usr/share/metainfo
or similar) were skipped. This is evident by looking at the XbSilo
query which includes components only with <pkgname>
tags.
Hence, append the XbSilo query to also include the components
for app-refine from the real appdata. <description>
tag is good
enough to know if the component is coming from the real appdata.
The bug was noticed inside Endless app-center when the list of all installed system apps was missing. This was due to the missing description in the GsApp and the gs-installed-page refuse to consider those GsApps are real apps.