desktop icon indicating copy to clipboard operation
desktop copied to clipboard

Provide AppStream AppData

Open cassidyjames opened this issue 5 years ago • 2 comments

Related to (and required by) #265. It would be great to get AppData upstream so it can be used for Flatpak and other formats/stores that use it.

I would be happy to contribute it, I mostly just don't know where in the repo it should live. :sweat_smile:

Official docs: https://www.freedesktop.org/software/appstream/docs/

Flathub guidelines: https://github.com/flathub/flathub/wiki/AppData-Guidelines

cassidyjames avatar Apr 20 '20 21:04 cassidyjames

Some initial thoughts and questions, mostly based on skimming the first link:

  • this feels like a specific file with metadata included in the install at /usr/share/metainfo/%{id}.metainfo.xml - is that all the magic that is needed here to get this to work?
  • looking at this example file it feels like a lot of the file is static (inserting release notes will be a fun challenge) or could be pulled from other metadata - am I understanding that right?
  • if the file is fairly static, then we can have a template file in the repository that gets used to generate the actual file, and is then consumed into each installer
  • figuring out how to do this for each installation type is going to be the hard part - we have install/cleanup hooks to do this for the debian package in #263, but we'd need to figure out how to do this for the other packaging formats

shiftkey avatar Apr 21 '20 13:04 shiftkey

I think putting the file in the right place will be handled by Flatpak, but I'm not 100% sure. Someone more familiar with AppStream would need to chime in. I have no idea about the other formats… but at least shipping the information in this repo would be a start and help for others packaging it up.

Yes, much of this is static and would typically be sourced from the marketing copy and whatever other metadata already exists. Release notes would indeed be fun… but hopefully we could use the GitHub API in an Action or something? We've been looking into some of that at elementary, but actually are currently going in the other direction (AppData serves as the source of truth, and we auto-generate GitHub Release descriptions from the AppData). cc @kgrubb though in case he has thoughts.

cassidyjames avatar Apr 21 '20 21:04 cassidyjames