metadata.yaml for Plasma projects?

Matthias Klumpp matthias at tenstral.net
Fri Apr 8 01:09:13 UTC 2016


2016-04-07 13:55 GMT+02:00 Martin Graesslin <mgraesslin at kde.org>:
> On Thursday, April 7, 2016 1:21:55 PM CEST Aleix Pol wrote:
>> On Thu, Apr 7, 2016 at 11:41 AM, Martin Graesslin <mgraesslin at kde.org>
> wrote:
>> > Hi Plasmates,
>> >
>> > an idea for better documentation is to introduce some metadata similar
>> > like
>> > what frameworks have. This could be useful for potential devs who want to
>> > contribute, but also for distributions as in that way:
>> > * we can specify whether it's experimental, released, obsoleted, etc.
>> > * what other Plasma projects it depends on
>> > * who is maintaining it and where to reach us
>> >
>> > Below I have an example how this could look like (in the case of KWin).
>> >
>> > What do you think?
>> >
>> > Cheers
>> > Martin
>> >
>> > # The maintainer of the project
>> > maintainer: graesslin
>>
>> I'd suggest offering an appstream appdata file instead of this.
>
> We have projects for which appstream doesn't make sense. Example is KWin,
> kdecoration, kscreenlocker, kwayland, etc. etc. In fact I think we have more
> projects in Plasma which do not need an appdata file than projects which
> actually benefit from it.

That's actually not true - AppStream is a generic metadata format, and
instead of writing an appdata file, you can just as well write a
generic metainfo file to add metadata (and a unique ID!) to any
software component.
Just omit the type= attribute in the <component/> root tag, or set it
to "generic". Those components won't show up in software centers, but
the metadata will still be available in distributions via more
advanced tools.

So, your metadata file ideally only contains stuff that isn't in the
metainfo XML already - or you add your own, non-standard tag to the
metainfo file.

> # The maintainer of the project
> maintainer: graesslin

Maybe update_contact, or the developer tag (but that would in this
case be "KDE", and having a KDE Identity name makes sense, so maybe
extra data is necessary here).

> # A short description of the project
> description: X11 Window Manager and Wayland Compositor

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-summary

> # tier 1: depends only on Qt and KDE frameworks
> # tier 2: depends only on Qt, KDE frameworks and tier 1 Plasma projects
> # tier 3: depends on Qt, KDE frameworks, tier 1, 2 and 3 Plasma projects
> tier: 3

Not in AppStream (obviously)

> # Whether the project is obsoleted, if true means it's not included in future
> # releases any more
> obsoleted: false

Not in AppStream.

> # Whether this is an experimental project
> experimental: false

Not in AppStream, but probably a good idea to add it, to mark
development snapshots and experimental apps in software centers (and
hide them by default, while still allowing for an easy way to install
them if needed).

> # Whether it's included in releases
> release: true

Not in AS, KDE specific.

> # The git clone url
> git: git://anongit.kde.org/kwin

Same

> # some code review information on phabricator
> phabricator:
>     # url to the diffusion
>     diffusion: https://phabricator.kde.org/diffusion/KWIN/
>     # the review group
>     reviewer: plasma
>     # the project it belongs to
>     project: plasma
> irc:
>     network: chat.freenode.net
>     channel: "#kwin"
> mailinglist: kwin at kde.org

Not in AppStream.

> bugs:
>     url: https://bugs.kde.org
>     product: kwin

See https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-url

> dependencies:
>     - KWayland
>     - KDecoration
>     - KScreenLocker

Not in AS.

So: You might want that extra metadata, but ideally you don't want to
duplicate stuff that's in AS metainfo files already.

Cheers,
    Matthias

-- 
Debian Developer | Freedesktop-Developer
I welcome VSRE emails. See http://vsre.info/


More information about the Plasma-devel mailing list