@Beuc
Copy link

Beuc commented Jan 29, 2019

Hi,

From https://wiki.debian.org/AppStream/Guidelines

AppStream metadata is to be placed in the /usr/share/metainfo/ directory and must be placed in the package which should be installed in order to get the software described by the respective metadata. This means that you might need to move the *.metainfo.xml or *.appdata.xml to the right (meta)package.

In case your AppStream metadata is describing a desktop-application (you can tell by the XML root-node having a type="desktop-application" or type="desktop" attribute), the .appdata.xml file must be placed in the same package as the .desktop file already is, which (as above) must be the package containing the application itself.

In my case I have a freedink-engine package which is the game itself and the editor, and a freedink-dfarc package that allows launching the games with different options and managing game extensions.

I move the .appdata.xml file in the "freedink" meta-package, so users install these 2 recommended components (freedink-engine and freedink-dfarc), but now it cannot find the .desktop file(s) in the dependent packages.
https://appstream.debian.org/sid/main/issues/freedink.html

It does not make sense to move the .desktop files in the meta-package, since the packages are independent and can be installed separately - in which case they do need their .desktop files, they can't depend on the meta-package for that.

Note: I didn't add a <launchable> tag yet, I didn't know about it, but from the wiki page and the hint it doesn't sound like this would make a difference.

I thought the generator would be able to locate the desktop files in different packages (just like I expect it to find the game translations in another package).
What do you think?

(by the way, is there a way to test the distro processing of my .appdata.xml without uploading and waiting for a few days?)