This is a subject which makes me sad. There is appstream information
for both kid3 and kid3-qt. The problem is that appstreamcli is called
from the tests added by the KDE CMake Extra Modules
(KDECMakeSettings.cmake, appstreamtest.cmake) and its validation fails
when there is a hyphen in the id and the id ends with desktop. At
first, I had "org.kde.kid3-qt.desktop" as the id for kid3-qt and a
notice was printed by the appstreamcli validation. Then, they changed
this to a warning and this made the CI/CD in KDE fail. So I changed
the ID to "org.kde.kid3_qt.desktop". The validation passed, but the
Link to kid3-qt in Discover no longer worked.
In order to fix this, I read
https://www.freedesktop.org/software/appstream/docs/chap-Validation.html.
The section about cid-rdns-contains-hyphen says that "hyphens are only
allowed in the last segment of a component ID". And the Appstream
Metadata Quickstart docs
(https://freedesktop.org/software/appstream/docs/chap-Quickstart.html#qsr-app-contents)
say about the "id" that "if your application's .desktop file is named
org.example.FooBar.desktop, a good component-id would be
org.example.FooBar.". So I followed this advice and removed the
.desktop suffix from the id leaving the ids for the two Kid3 packages
as "org.kde.kid3" and "org.kde.kid3-qt". The hyphen is now in the
"last segment" and passes the appstream validation.
But now both kid3 and kid3-qt are no longer found by KDE Discover or
GNOME Software. Apparently, these programs require the id to be the
desktop file name. I have now reverted this change so that at least
kid3 should work again in Discover and kid3-qt should be listed again,
but the link will probably still not work. If somebody has a better
solution, please let be know. Otherwise, you could add commit
https://invent.kde.org/multimedia/kid3/-/commit/5b1506be57e8e8d5c4ca308cf9101093a16c443b
as a patch to fix this bug.

Reply via email to