packages
packages copied to clipboard
Replace appstream-glib usage with appstream
Summary
appstream-glib is in "heavy-maintenance", and we have a lot of issues fixing idiosyncrasies with appstream-builder.
Appstream is newer, controls the specification and is better maintained.
This PR introduces support for:
appstream-generatorwith a backend supporting solus- Moves
solus-scto use appstream instead of appstream-glib APIs - Converts
appstream-datato use the catalog produced byappstream-generator - Removes the legacy symlink path support from
appstream-data
Test Plan
Build a solus catalog from local and remote sources both locally and on infra with appstream-generator
Ensure solus-sc continues to work as expected.
Ensure solus-sc, gnome-software and discover load the new appstream-data successfully.
Checklist
- [x] Package was built and tested against unstable
- [x] This change could gainfully be listed in the weekly sync notes once merged
Finally had a chance to look this over in detail. I have one question: Would it be acceptable to add a step of compressing all the individual tarballs into one large one in the ansible playbook from https://github.com/getsolus/infrastructure-tooling/pull/79? I would love to be able to use a yupdate wrapper here rather than having to copy/paste all these sources. I think that step is more error-prone than it needs to be. The task can theoretically even do this all in one step, from generate to upload to yupdate, then even automatically build the package for testing and set up the commit... thoughts?
I'm super excited to get this in, FWIW. I'd be OK with merging this as is and taking on further streamlining in the near future- just want to throw ideas out there.
Finally had a chance to look this over in detail. I have one question: Would it be acceptable to add a step of compressing all the individual tarballs into one large one in the ansible playbook from getsolus/infrastructure-tooling#79? I would love to be able to use a
yupdatewrapper here rather than having to copy/paste all these sources. I think that step is more error-prone than it needs to be. The task can theoretically even do this all in one step, from generate to upload toyupdate, then even automatically build the package for testing and set up the commit... thoughts?
I can rewrite the script in python and with ruamel.yaml i can edit the package.yml in-place if there are changes
Ah, good idea. I like that best. Would you like to do that as part of this PR, or leave it for future improvement?
Sync post blurb: This week, we have updated our appstream-data to use the newer and maintained appstream-generator utility, instead of the abandoned appstream-builder. Appstream data is the information used by GNOME Software and KDE Discover to detect and display packages. The Solus Software Center also uses this data for screenshots.