Opened 5 years ago
Closed 5 years ago
Last modified 5 years ago
#11478 closed Patch (rejected)
[PATCH] Use reverse-DNS style AppStream ID
|Reported by:||Nate Graham||Owned by:|
|Component version:||Operating system type:||Linux|
|Operating system version:|
AppStream IDs are required to use the reverse-DNS style, e.g. "org.filezilla-project.Filezilla". I'm attaching a patch that accomplishes that.
Relevant section of the AppStream spec: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#sect-Metadata-GenericComponent
On a practical note, having a non-rDNS-style AppStream ID is problematic for users of GNOME Software and KDE Discover (and other similar software center apps) when Filezilla is available from their distros' packages as well as Flathub--which correctly enforces rDNS-style AppStream IDs. If the AppStream IDs don't match between these sources, then the software centers can't de-duplicate them and users confusingly see two entries when they search for FileZilla. Standardizing on the rDNS-style ID eliminates this problem (in addition to conforming to the spec).
Change History (8)
by , 5 years ago
comment:1 by , 5 years ago
|Status:||new → closed|
comment:2 by , 5 years ago
|Status:||closed → reopened|
Oh, so close! I see you applied it as
org.filezilla-project.FileZilla. I'm afraid Flatpak doesn't permit dashes anywhere but the last token of the URL, so it has to be
org.filezillaproject.FileZilla. For more info, see https://github.com/flathub/org.filezillaproject.Filezilla/pull/1
comment:3 by , 5 years ago
|Status:||reopened → closed|
This is a bug in Flatpak then. org.filezilla-project.FileZilla is a valid reverse DNS name.
The human-readble description aside, according to appstream.xsd the id does not even have to be a reverse DNS syle name, applications making use of appstream should be able to handle arbitrary strings, or alternatively the .xsd needs to be fixed to _properly_ specify the syntax for the id element.
comment:4 by , 5 years ago
OK fair enough. I'll start a conversation with the Flatpak and Flathub people about it. You can follow along in https://github.com/flathub/org.filezillaproject.Filezilla/pull/1
comment:5 by , 5 years ago
Apparently the full rDNS style is not totally supported, it's just "rDNS-like". The Flatpak folks say you'll have to remove the dash.
Sorry for the bad new, but I'm just the messenger!
comment:6 by , 5 years ago
Do you have a statement from the Appstream specification makers supporting this?
comment:7 by , 5 years ago
OK, I learned something here. The discussion is in https://github.com/flathub/org.filezillaproject.Filezilla/pull/1#issuecomment-354509330.
This seems to be the long and short of it:
- AppStream (https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html) supports the full rDNS spec, including hyphens anywhere
- DBus (https://cgit.freedesktop.org/dbus/dbus/tree/doc/dbus-specification.xml#n1813) "discourages" the use of hyphens anywhere but the last element. An App's DBus ID should match its AppStream ID. This won't be possible if the AppStream ID isn't a valid DBus ID because it has hyphens in a place that DBus doesn't like.
Given that these should match but the spec for one is stricter than another, I've recommended to the AppStream developers that they adopt the DBus style to avoid further confusion of this sort: https://github.com/ximion/appstream/issues/162
Sorry for all this hassle! I thought this would be a nice simple patch...
Patch to use reverse-DNS-style AppStream ID