Are there any rules governing Appname that potentially affect the QA process or other things?
Specifically in the upcoming version of gPodder I will finally be setting an Appname for SailJail (gpodder.sailfish) but until now for notifications I have been using gPodder and TBH I thing gPodder is more “user friendly” for user facing messages.
Is this mismatch a problem?
Afaik there’s no reason why you couldn’t use gPodder as the Sailjail app name.
I would avoid dots in the app name ( they are fine for org name though). I believe technically they are possible but it’s bound to fail somewhere some time with something incorrectly parsing the orgname-dot-appname scheme.
Just stick to ASCII alphanumeric and dash to be safe.
(Definitely to avoid is anything that causes problems on the filesystem. While on the fs side there are AFAIK no forbidden characters except . and /, it would be asking for trouble to use things like ; or : or even !).
Also I think “sailfishos” and “jolla” are not allowed but I can’t find a source right now.
All rules side, the convention is to use reverse-domain for org name, and camelCase or PascalCase for the app name.
This should also align with other, similar schemes like FlatPak or UBPorts conventions.
Looking at the harbour validation script, it checks for these in the ApplicationName:
if [[ ! $value =~ ^[A-Za-z_-][A-Z0-9a-z_-]*$ ]]; then
so mixed-case alpha with minus and underline. Note the dot is not allowed.
and these for OrganizationName:
if [[ ! $1 =~ ^[0-9a-z._-]+$ ]]; then
if [[ $1 =~ (^|[.])[0-9] ]]; then
i.e. needs to be lowercase alpha , dot(s), minus and underline, and not start with a digit.
Also, these names are disallowed for Organization:
Source: GitHub - sailfishos/sdk-harbour-rpmvalidator: Jolla Harbour intake RPM validator tool · GitHub
3 Likes
Just an aside about dash from what I remember when I was messing around with this -
- is illegal in DBUS which is what notifications use and might also break sailjail though it’s been a while since I was playing around with it.
Yea it will be encoded or replaced by dbus, so the bus names will appear differently.
This is likely to break any automated stuff like ExecDBus but haven’t checked.
I believe it still can work if the app does all its dbus stuff on its own and deals with the ‘endoded’ names.
Doing org.gpodder/gpodder feels so double/wrong, which is why I did gpodder.sailfish
Well, if it was harbour-gpodder previously, you could do harbour-gpodder.gpodder, that way you will have (read-only) access to the old settings (~/.config/harbour-gpodder/foo.conf and friends).
Anyway, according to the rules above, gpodder.sailfish is not a valid application name (no capes dots!).
Or, it would be organame = gpodder and appname = sailfish, which is valid but a bit weird.
How about alt.keeper-of-the-keys.gPodder or alt.team-gPodder.gPodder?
gpodder-sailfish is in the end of the day part of the gPodder project and not my private thing.
I think it’ll be org.gpodder/gpodder_sailfish
1 Like
I’m actually leaving the appname in Notification as gPodder since that is user facing and using a DBUS name would be ugly as anything…
1 Like