Comment 0 for bug 1576780

Revision history for this message
Matthias Klumpp (ximion) wrote :

[Impact]

 * The AppStream YAML spec describes a way to include width/height properties in cached-icon metadata, which isn't forward-compatible to the old spec.
 * asglib doesn't implement the full spec in the release present in Xenial, so it ignores cached icons with size info, as well as it doesn't support several features present in the spec, e.g. the remote icon type.
 * This leads to AppStream components from 3rd-party repos/PPAs not showing up in GNOME Software, since asglib is unable to find icons if they use a more recent version of the spec.
 * The attched patch fixes this.

[Test Case 1]

 * Close all instances of GNOME Software (also the background daemon!)
 * Launch GNOME Software again: All apps should be present, you should notice no change.

[Test Case 2]

 * Close all instances of GNOME Software (also the background daemon!)
 * Get new-style metadata, e.g. from Elementary or Debian[1]
 * Launch GNOME Software again: All apps should be present, including the 3rd-party ones.

[1]: ftp://ftp.debian.org/debian/dists/stretch/main/dep11/

[Regression Potential]

 * This is adding a missing feature, restoring compatibility with 3rd-party repos. The existing data should be parsed as before, so I don't see much regression potential ("Test Case 1" needs to work)

[Other Info]

 * This fix has been applied upstream: https://github.com/hughsie/appstream-glib/commit/628e3cfb1c62c3177d6decd86102217f2546e0a2
 * The fix is also present in Debian.