* 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.
* 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)
[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/ 628e3cfb1c62c31 77d6decd8610221 7f2546e0a2
* The fix is also present in Debian.