Skip to content

Make AppImages updateable

Hennadii Chernyshchyk requested to merge github/fork/eljamm/appimage-dev into master

Created by: eljamm

This is done by embedding update information inside the AppImage itself, which for linuxdeploy can be done using the UPDATE_INFORMATION variable as described in the AppImage documentation. Thus, this adds a .zsync file to the release section, which makes it easier to update to newer versions without re-installing the whole file using tools like AppImageUpdate.

To test this, first install appimageupdatetool, and make it executable, then install this version of Crow_Translate-2.9.12-x86_64.AppImage.

To check the update information, run :

$ ./appimageupdatetool -d Crow_Translate-2.9.12-x86_64.AppImage

We can see from the output that the 2.9.13 update is available :

Assembled ZSync URL: https://github.com/eljamm/crow-translate/releases/download/2.9.13/Crow_Translate-2.9.13-x86_64.AppImage.zsync

To update the current file from 2.9.12 to 2.9.13, run :

$ ./appimageupdatetool Crow_Translate-2.9.12-x86_64.AppImage

Running this with time shows us a faster update than re-downloading the whole AppImage :

real	0m5.211s
user	0m1.080s
sys	0m0.335s

Merge request reports