Jump to content

User:Nmariusp/Appstream

From KDE Community Wiki

See https://community.kde.org/Guidelines_and_HOWTOs/AppStream , https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html

Metadata about a KDE app, library etc. Is used in the appstream file, F-Droid app store, Android Google Play app store, Windows (Metro) app store, flathub, snap store, apps.kde.org, flatpak manifest file. Is used in app store apps: KDE Discover app store, GNOME Software app store etc. Additionally, there are: app icon, app screenshots, changelog inside appstream file, debian changelog, license information, debian/rpm license information. The license information is often wrong, e.g. how can the binary package of a KDE GUI app be GPLv2 only when some Qt framework modules are GPLv3 only, other modules are LGPLv3 only.

  • All KDE git repositories for GUI apps should contain at least one appstream org.kde.<appname>.metainfo.xml file.
  • Make sure the home page of the KDE app https://apps.kde.org/<appname> is up to date. E.g. should contain a screenshot of the app, not a screenshot of the manual, should not contain a link to https://userbase.kde.org, should contain a link to the app's Handbook. Make sure that the appstream "Install on Linux" URL (e.g. "appstream://org.kde.kmag.desktop") works correctly.
  • In an automated fashion, make sure that all of the appdata files have valid and recent "Releases" information.
  • Do not use URLs that do not work.
  • Validate all appstream files using a command line like "appstreamcli validate org.kde.kmag.appdata.xml".
cd ~/kde/src
for i in `find . -type f -name "*.appdata.xml"`; do echo "$i" ; appstreamcli validate --pedantic --explain "$i"; done |& tee ~/a.txt
for i in `find . -type f -name "*.metainfo.xml"`; do echo "$i" ; appstreamcli validate --pedantic --explain "$i"; done |& tee -a ~/a.txt
kate ~/a.txt &

This is the list of appstream issues as of 2025.07.20 https://drive.google.com/file/d/15VgwRjUEjGbaoZjDdyQIxBCKLTnMS_zA .

Note: do not look at the translated strings. If you want to improve the translated strings, please ask for help from the KDE translators team.

  • Synchronize appdata.xml summary towards KDE Craft self.description .

https://invent.kde.org/websites/product-screenshots has guidelines, and you need to make an MR there to submit them so they show up on the CDN