FS#6490 - appdata.xml metadata file for inclusion in Software Center

Attached to Project: OpenTTD
Opened by Matthias Mailänder (Mailaender) - Monday, 18 July 2016, 10:47 GMT
Type Patch
Category Build system
Status New
Assigned To No-one
Operating System Linux
Severity Low
Priority Normal
Reported Version Version?
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details;id2=HEAD#n77 contains such a file. It was sent to you 2 years ago for inclusion. I don't want to manually patch it into the openSUSE rpm package. This is something you should maintain for every distribution.
This task depends upon

Comment by Matthias Mailänder (Mailaender) - Saturday, 30 July 2016, 12:53 GMT
Updated the file with slightly more suitable screenshots.
Comment by frosch (frosch) - Thursday, 11 August 2016, 16:43 GMT
Some dude via mail:

We've been busy building an awesome software center, and we've been adding more and more metadata fields that upstream authors can set. The software center is now being used in Fedora, Opensuse, Ubuntu, Debian and Arch, with many millions of happy users.

Some of the newest features include a way to make it easy for translators to contribute new translations of your applications by specifying a URL in the openttd.appdata.xml AppData file that tells them where to start looking. This can be specified by adding:

<url type="translate">http://the-web-site-with-translation-instructions/</url>

Another useful tag to add is to tell end-users where to donate, for instance:

<url type="donation"></url>

If it's been some time since you updated the AppData file (and hey, you've got an app to write!) you can get add the latest metadata fields by doing `appstream-util upgrade openttd.appdata.xml` and then replacing any FIXMEs in the file with actual data. We'll be putting more functionality into the software center in the future that uses this extra data, but we need more upstream software to opt-in before we can enable features, for instance, providing a button for users to donate to specific apps.

You can also use `appstream-util validate-relax` on your AppData file to check the various fields meet our style guidelines. If you disagree with any of the validation warnings, please let me know!
Comment by frosch (frosch) - Saturday, 17 September 2016, 09:01 GMT
Same dude via mail:

The latest feature we want to support is age classifications for games. As your application is listed in the games category we wanted to ask if you could generate some OARS metadata and add it to the openttd.appdata.xml file. It's really as simple as visiting then answering about 20 questions with multiple choice answers, then pasting the output inside the <component> tag.

Using the <content_rating> tag means we can show your game with an appropriate age rating depending on the country of the end user. If you have any comments about the questions on the OARS page please do let me know.
Comment by Peter Nelson (peter1138) - Monday, 13 March 2017, 10:58 GMT
Which package managers should we support today? Which in 5 years?
Comment by Matthias Mailänder (Mailaender) - Monday, 13 March 2017, 18:23 GMT
The appdata.xml file is independent from the package manager used.

For the Open Age Ratings Service you can take for reference where I did this for OpenRA. I am not sure where this is exposed though.
Comment by Peter Nelson (peter1138) - Tuesday, 14 March 2017, 23:59 GMT
And what needs to happen with the file? Does it need to go somewhere specific? Is it just part of the source or does it need to be installed?
Comment by Matthias Mailänder (Mailaender) - Wednesday, 15 March 2017, 19:10 GMT
It needs to go to /usr/share/appdata

See for an integration test of this file.
Comment by Alberth (Alberth) - Saturday, 09 September 2017, 17:00 GMT
It's great you're adding meta-information to all applications for your users. It is even more great that this is done across distributions.
However, you're only doing Linux, not windows, not osx, not <insert random non-linux os here>.

So why do you want application developers to make only your users happy?

The better solution would be imho to make a cross-Linux-distribution repo with this stuff for all applications that your OS(es) support. You can add whatever you want in whatever speed you want. Frankly, we have more than enough problems with just the application, we don't need more work.
Comment by Matthias Mailänder (Mailaender) - Sunday, 10 September 2017, 10:05 GMT
Copying it into your repository shouldn't be that much of an effort. If your attitude would be more friendly and your source code repository more accessible, I might have even setup a patch for the Makefile install rules or l10n support.
Comment by Peter Nelson (peter1138) - Sunday, 10 September 2017, 22:46 GMT
I guess it would go in the os/rpm/ directory and then however that stuff works would put the file into the package that gets built. None of my non-RPM systems have a /usr/share/appdata to care about.
Comment by Matthias Mailänder (Mailaender) - Monday, 11 September 2017, 16:57 GMT
Ubuntu 16.04 should come with GNOME Software which also displays these by default.