The AppStream generator is a service that processes a distribution’s (traditional, e.g.
.deb) packages and generates AppStream metadata out of that. That is then distributed by the distro and consumed by software centers like GNOME Software, KDE Plasma and others to display nice listings for available software.
I run the instance of this service for Ubuntu. The generator is built from source there: inside the Juju charm I download all the dependencies and drive the build process myself, and then we use the resulting binaries to generate the metadata. Unfortunately, due to this being a living software project, backports of updated dependencies - including the compiler itself - are often required. In practice it has gotten too difficult and I stopped doing it.
The upstream author requested that I update for the LTS, because there are lots of fixes and features that we don’t have and would make the generated data much more comprehensive and better. I basically said the above, and asked if they could consider making a snap - which happened!
And now it’ll be possible to always update in the future too! Woohoo!
Now this is currently a classic snap. Upstream says there is probably no fundamental reason why this couldn’t be confined, but they and I are concerned that things may not work - even silently - and we need to do some testing before we can be more confident in turning on strict mode. We would hate to find this out after Focal has released, because then it would be impossible to fix the generated metadata (the release is frozen once it’s out and we have no way to push updated indices). Given all this, I wonder if it would be OK for us to use classic confinement for now and explore at a more leisurely pace how we can go strict?
Happy to hear alternatives to receiving this via the store, but if you want to suggest that I do something totally different, I would ask you to please be mindful that I’m quite loaded with various tasks related to making 20.04 happen so I don’t have a very big amount of time - in any event I have to re-work the charm to install from the snap and monitor that it’s working…