At the moment I have a XML file in /var/cache/app-info/xmls/org.gnome.Software-eos-extra.xml.gz that I'm using from GNOME Software to extend the distro-wide collection XML so that we can customize a bit how we show certain apps in our modified version of GNOME Software: add thumbnails, relocate some apps in other categories...
However, while GNOME Software works well with what we have without using the merge="append" tag attribute described in https://www.freedesktop.org/software/appstream/docs/chap-CollectionData.html#sect-AppStream-XML, we started getting errors in our developer machines when running apt-get update, when the Post-Invoke-Success 50appstream hook installed by the appstream package tries to run appstreamcli refresh-cache.
After a while I figured out that, even if GNOME Software ignores that merge tag, the right thing would probably be to add it to each <component> node there, so that appstreamcli would not complain in our developer machines (production machines do not use APT anyway, just OSTree), so I changed the file to look like this:
I've tried this both with appstream-0.10.4 and appstream-0.10.6 drom Debian Stable and Testing and the error persists. After installing debug symbols for appstream (0.10.6) and glib (2.50.2, with some modifications from endless) I could get a backtrace for each of those criticals, which you can see attached here: appstreamcli-backtraces.txt
Just to be sure this was not an Endless-specific thing, I've setup a chroot with Ubuntu Yakkety x86_64, placed the same file inside /var/cache/app-info/xmls and got pretty much the same error right after apt finished installing the appstream package (version 0.10.1):
This is not a show-stopper for us at all since we don't really rely on appstreamcli on production systems, but this seems wrong so it would be nice to fix it.
At the moment I have a XML file in
/var/cache/app-info/xmls/org.gnome.Software-eos-extra.xml.gzthat I'm using from GNOME Software to extend the distro-wide collection XML so that we can customize a bit how we show certain apps in our modified version of GNOME Software: add thumbnails, relocate some apps in other categories...However, while GNOME Software works well with what we have without using the
merge="append"tag attribute described in https://www.freedesktop.org/software/appstream/docs/chap-CollectionData.html#sect-AppStream-XML, we started getting errors in our developer machines when runningapt-get update, when the Post-Invoke-Success50appstreamhook installed by the appstream package tries to runappstreamcli refresh-cache.After a while I figured out that, even if GNOME Software ignores that
mergetag, the right thing would probably be to add it to each<component>node there, so that appstreamcli would not complain in our developer machines (production machines do not use APT anyway, just OSTree), so I changed the file to look like this:After doing that, I get the following CRITICAL errors when running
appstreamcli refresh-cache:I've tried this both with appstream-0.10.4 and appstream-0.10.6 drom Debian Stable and Testing and the error persists. After installing debug symbols for appstream (0.10.6) and glib (2.50.2, with some modifications from endless) I could get a backtrace for each of those criticals, which you can see attached here: appstreamcli-backtraces.txt
Just to be sure this was not an Endless-specific thing, I've setup a chroot with Ubuntu Yakkety x86_64, placed the same file inside
/var/cache/app-info/xmlsand got pretty much the same error right after apt finished installing theappstreampackage (version 0.10.1):This is not a show-stopper for us at all since we don't really rely on appstreamcli on production systems, but this seems wrong so it would be nice to fix it.
PS: Here is the complete file I'm testing this with: org.gnome.Software-eos-extra.xml.gz
The text was updated successfully, but these errors were encountered: