-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include version number in AppImage #4645
Comments
I am pretty sure we are doing that already, but I'll check. 😕 |
> cat /tmp/.mount_KeePasm3kVWk/org.keepassxc.KeePassXC.desktop
[Desktop Entry]
Name=KeePassXC
GenericName=Password Manager
GenericName[da]=Adgangskodehåndtering
GenericName[de]=Passwortverwaltung
GenericName[es]=Gestor de contraseñas
GenericName[fr]=Gestionnaire de mot de passe
GenericName[ru]=менеджер паролей
Comment=Community-driven port of the Windows application “KeePass Password Safe”
Comment[da]=Fællesskabsdrevet port af Windows-programmet “KeePass Password Safe”
Exec=keepassxc %f
TryExec=keepassxc
Icon=keepassxc
StartupWMClass=keepassxc
StartupNotify=true
Terminal=false
Type=Application
Version=1.0
Categories=Utility;Security;Qt;
MimeType=application/x-keepass2; I don't spot |
I checked how I can solve this issue and it turns out we are indeed already exporting VERSION before building the AppImage, but AppImageTool isn't picking it up for reasons that are beyond me. Here's the relevant code: https://github.com/keepassxreboot/keepassxc/blob/develop/release-tool#L743 |
Maybe because it isn't set correctly? But looking in the code, there should be some value... Mind to share the log output of appimagetool?
That bit is unnecessary, if you set |
There is a value, I checked (otherwise the file name would come out wrong as well). I know that appimagetool used to embed the version into the path, but at some point it also started embedding the Glibc version, so we decided to generate the file name ourselves. I believe that's why the lack of version information has gone unnoticed. I tried setting VERSION at various points in the pipeline, but it doesn't make a difference. The only fix I could come up with is adding X-AppImage-Version to the desktop file myself (see referenced commit). I cannot find anything interesting in appimagetool's output except
and later
|
Please paste a full log, those excerpts are exactly the stuff I was not looking for. Then I'll happily have a look. (The first part is also linuxdeploy, not appimagetool.) |
Yeah, I know. The AppImageTool invocation is marked with a log message. But there isn't much else following it except the mksquashfs output. There is one more (non-error) message about the desktop file, so it is doing something, but that's it.
|
Found it. See https://github.com/AppImage/AppImageKit/blob/master/src/appimagetool.c#L716-L738. appimagetool only includes a version number in the desktop file if you don't specify a custom output filename. This is clearly a bug. Mind to open an issue? |
Issue opened: AppImage/AppImageKit#1054 |
Cool, thanks! |
Fixed. New build is triggered, should be available in a few minutes. |
Okay. We have merged the other fix where I just set the property manually and removed the VERSION envvar. It's probably not worth adding another patch just now that reverts it, but I'll keep it in mind for later. |
Please embed version numbers in your AppImages. Right now, every time I upgrade, a number is appended to avoid having 2+ exactly same looking entries in my app launcher:
Cura for instance embeds version numbers, which makes it easy to maintain multiple versions:
Before generating an AppImage, just
export VERSION=...
. That will then be picked up by appimagetool, which both embeds it in the desktop file (which is picked up by AppImageLauncher etc.) and the filename, too.linuxdeploy-plugin-appimage internally uses appimagetool, too, so it should "just work" in your
release-tool
.The text was updated successfully, but these errors were encountered: