I’m trying to create the AppImage for the Remmina remote desktop client.
In our desktop files, we have some x-scheme-handler that from my understandinf of the freedesktop specs are right, but linuxdeploy exit with a parsing error:
$ linuxdeploy-x86_64.AppImage --appdir AppDir
...
...
-- Deploying files into AppDir root directory --
terminate called after throwing an instance of 'linuxdeploy::desktopfile::ParseError'
what(): Key x-scheme-handler/remmina contains invalid character /
[1] 1076 abort (core dumped) linuxdeploy-x86_64.AppImage --appdir AppDir
Damn, the Remmina AppImage does not work, I was testing on a PC where it was already installed, so it was finding all the libraries, glade files etc in the root FS.
It’s way too complex without investing a tremendous amount of time, I think I’m going to give up till I’ll have much more free time available (after 65 yo maybe).
Just in case, @probono, do you have an AppImage example that uses gtk/glib libraries? I’m interested in the CI part obviously.
Damn, the Remmina AppImage does not work, I was testing on a PC where it was already installed, so it was finding all the libraries, glade files etc in the root FS.
One needs to ensure that an application does not load resources from absolute paths but from paths relative to the AppDir.
Ideally, this is done in the source code, e.g., like this patch does:
Things like Application app = new Application(dirName(thisExePath())); and builder.addFromFile(buildNormalizedPath(path, "design.glade")); are used to make the application load resources like Glade files from relative locations.
Alternatively, the following MAY work depending on your application: