[kde-community] Our new project metadata system

Ben Cooksley bcooksley at kde.org
Fri Apr 1 09:54:10 BST 2016

On Fri, Apr 1, 2016 at 4:44 AM, Matthias Klumpp <matthias at tenstral.net> wrote:
> Hi!
> 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[1] exist to read and write and
> transform metadata.
>  - 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).

Out of curiosity, how are the Appstream files accessed by tools such
as the various app centers?
I presume some kind of repository exists?

If so, it may be worth pulling the information you need Boudhayan from
such a repository ( although the indexing process will undoubtedly
require either source code checkouts or compiled code, in which case
we'll probably have to use what the CI system has and pick a branch
group to represent - probably stable-kf5-qt5. More details on this
would be nice )

> Cheers,
>     Matthias


> [1]:
>  AppStream reading & writing (with limitations, no general data
> transformation, screenshot downloads, etc.) & Qt bindings:
>    https://github.com/ximion/appstream
>  AppStream distro metadata writing (includes searching icons and
> downloading & resizing screenshots):
>    https://github.com/ximion/appstream-generator
>  AppStream reading (cache-less) and writing (all modes), used by GNOME
> Software, supports things like firmware & CAB extraction:
>    https://github.com/hughsie/appstream-glib

More information about the kde-community mailing list