Guidelines and HOWTOs/AppStream: Difference between revisions
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
Carefully review '''all''' fields and replace $NAME with your application name as seen in the reverse domain notation. Where appropriate the fields have URLs of AppStream documentation to help you find out what to put there. | Carefully review '''all''' fields and replace $NAME with your application name as seen in the reverse domain notation. Where appropriate the fields have URLs of AppStream documentation to help you find out what to put there. | ||
{{Input|< | {{Input|1=<nowiki> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<component type="desktop"> | <component type="desktop"> | ||
Line 54: | Line 54: | ||
<project_group>KDE</project_group> | <project_group>KDE</project_group> | ||
</component> | </component> | ||
</ | </nowiki>}} |
Revision as of 14:23, 3 November 2016
Quick guide on how to AppStream your app.
Checklist
- Make sure your desktop file is reverse-domain-notation i.e. org.kde.foo
- Your desktop file should be org.kde.foo.desktop. This is also your desktop-id, so whenver you may need that. It's basically your file name.
- If you have a dbus service ... make sure that your dbus service name matches this or change your desktop file to match the service address (whichever seems more appropriate)
- The name part 'foo' MUST be the name of your binary or you need to use KAboutData::setDesktopFileName() to set the desktop file name you are using
- Create org.kde.foo.appdata.xml in your source tree
- Paste the template you can find below into that file
- Make sure you replaced all place holders from the template
- Install the file via CMake (KDE_INSTALL_METAINFODIR is defined by KDEInstallDirs from extra-cmake-modules)
install(FILES org.kde.foo.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
- Validate your appdata using the appstreamcli helper
appstreamcli validate org.kde.foo.appdata.xml
- Validate your installed tree using the helper in your build directory
make make install DESTDIR=root appstreamcli validate-tree root rm -r root
- If all looks good commit and push
- If you have any questions submit a review and make sure to subscribe sitter and mak
Template
Carefully review all fields and replace $NAME with your application name as seen in the reverse domain notation. Where appropriate the fields have URLs of AppStream documentation to help you find out what to put there.
<?xml version="1.0" encoding="utf-8"?> <component type="desktop"> <id>org.kde.$NAME.desktop</id> <metadata_license>CC0-1.0</metadata_license> <project_license> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-metadata_license </project_license> <name>$NAME</name> <summary> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-summary </summary> <description> <p> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description </p> </description> <url type="homepage">https://www.kde.org</url> <url type="bugtracker">https://bugs.kde.org</url> <url type="donation">https://www.kde.org/community/donations</url> <screenshots> <screenshot type="default"> <image> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-screenshots Central hosting is still being sorted out, poke [email protected] for more info. </image> </screenshot> </screenshots> <provides> <binary>$YOURBINARYNAME!</binary> </provides> <project_group>KDE</project_group> </component>