Opened 7 years ago

Closed 6 years ago

#3388 closed defect (fixed)

Legacy appstream metadata

Reported by: Bas Couwenberg Owned by: grass-dev@…
Priority: normal Milestone: 7.2.3
Component: Default Version: 7.2.1
Keywords: appstream Cc:
CPU: Unspecified Platform: Linux


The AppSteam metadata is installed in the legacy location (/usr/share/appdata), it should now be installed in /usr/share/metainfo.

The .appdata.xml file should now be named .metainfo.xml, and the syntax has changed.

There are a couple of validation issues reported:

$ appstreamcli validate gui/icons/grass.appdata.xml 
W - grass.appdata.xml:grass.desktop:4
    The component ID is not a reverse domain-name. Please update the ID and that of 
    the accompanying .desktop file to follow the latest version of the Desktop-Entry 
    and AppStream specifications and avoid future issues.

E - grass.appdata.xml:grass.desktop
    The component is missing a name (<name/> tag).

E - grass.appdata.xml:grass.desktop:9
    The description contains an URL. This is not allowed, please use the <url/> tag 
    to share links.

Validation failed: errors: 2, warnings: 1

The changes to the AppStream metadata are likely to trigger changes to the .desktop file too (e.g. the reverse domain ID).

Change History (9)

comment:1 by neteler, 7 years ago

But would such changes be backward compatible? The appdata metadata used on various distros, probably not all come with the latest related tools?

comment:2 by Bas Couwenberg, 7 years ago

The AppStream specification doesn't mention backwards compatibility.

I guess that just using the path and format from the (current) specification is sufficient. I'm not aware of any consumers that expect the old /usr/share/appdata path.

Alternatively maintain two files with the old and new formats and their respective installation path.

comment:3 by neteler, 7 years ago


Ticket retargeted after milestone closed

comment:4 by neteler, 7 years ago

Updated in trunk: r71777; in relbr74: r71776; in relbr72: r71778.

Validated OK on Fedora with:

appstream-util validate gui/icons/grass.appdata.xml

TODO (if a todo): rename grass.appdata.xml file to grass.metainfo.xml (?)

comment:5 by neteler, 6 years ago

Bas, anything missing here?

comment:6 by Bas Couwenberg, 6 years ago

Instead of installing the file as /usr/share/appdata/grass.appdata.xml it should be installed as /usr/share/metainfo/org.osgeo.grass.appdata.xml.

The Debian package does that because lintian complains about the legacy location.

comment:7 by neteler, 6 years ago

Please check if r72356 makes sense (trunk). Then I'll backport it.

comment:8 by Bas Couwenberg, 6 years ago

That's what the Debian package does as well, that should be fine.

comment:9 by neteler, 6 years ago

Resolution: fixed
Status: newclosed

Backported to 7.4.svn, 7.2.svn, 7.0.svn, and 6.4.svn. Closing.

Note: See TracTickets for help on using tickets.