Re: [kde-community] Our new project metadata system
- Date: Thu, 31 Mar 2016 17:44:32 +0200
- From: Matthias Klumpp <matthias@xxxxxxxxxxxx>
- Subject: Re: [kde-community] Our new project metadata system
Just adding my 2ct as AppStream maintainer:
- Centralizing AppStream metadata is IMHO a really bad idea, since it
makes the life of people wanting to change or update it much harder,
leading to fewer changes and maybe even less metadata.
- Using d_eds old script is also a bad idea, since both the spec and
the script have changed over time - years ago, I used it as basis for
an initial AppStream metadata push to the KDE repositories, meanwhile
projects have written and updated their metadata, it has been
translated, etc. - so using that script again would be a step back.
You can find the old metadata *templates* at
https://github.com/ximion/kde-appstream-metadata-templates , for
projects which don't have the data yet. I call them templates, because
they do need to be reviewed and changed, so it's nothing to blindly
push to a repo. That said, most repositories already have metadata.
- AppStream metainfo files are very rich in metadata - using a
markdown document makes it hard to add the same amount of data (e.g.
that document would need to contain a way to define multiple
screenshots with descriptions, having listsings with provided items,
...). It's not impossible, but saving some time and writing the data
in XML directly is helpful.
To make the metainfo fles in KDE more readable, one could think about
adding the translation as part of the build process (like GNOME does)
and not having them added automatically by scripty.
- AppStream is already really well established - it's used by pretty
much all major distros, and tools exist to read and write and
- AppStream is extensible - if you miss some functionality, please
just talk to me and we can discuss adding it to the Freedesktop spec,
if it's generally useful. If it's something KDE specific, you could
add arbitrary tags to metainfo files if you prefix them with "x-" (the
same way non-standard stuff is defined in .desktop files).
AppStream reading & writing (with limitations, no general data
transformation, screenshot downloads, etc.) & Qt bindings:
AppStream distro metadata writing (includes searching icons and
downloading & resizing screenshots):
AppStream reading (cache-less) and writing (all modes), used by GNOME
Software, supports things like firmware & CAB extraction: