desktop icon indicating copy to clipboard operation
desktop copied to clipboard

zsync updating the AppImage

Open ghost opened this issue 3 years ago • 3 comments

Describe the feature or problem you’d like to solve

zsync updating

Proposed solution

Can you please provide a .zsync file for updating the AppImage?

Additional context

None

ghost avatar Feb 03 '22 17:02 ghost

I'm not familiar with what this involves - got any links or resources to help orient myself?

shiftkey avatar Feb 04 '22 21:02 shiftkey

http://zsync.moria.org.uk/

https://www.maketecheasier.com/use-zsync-transfer-part-of-file-linux/

You can use a sidecar .zsync file so people can run the zsync command (zsyncmake builds the meta control file) and/or use an embedded file in the AppImage itself depending on different update flows people would want to use.

ghost avatar Feb 05 '22 08:02 ghost

The relevant information from the AppImage docs:

electron-builder promotes its own updater scheme rather than the update information described in this documentation, in order to have the same mechanism on Linux as is used on Windows. Unfortunately this means that AppImages generated by electron-builder cannot be updated using the usual tools.

One way to inject the update information into the AppImage created with electron-builder nevertheless is to extract the AppImage generated with electron-builder to an AppDir using the --appimage-extract command line option of the AppImage, and then re-packing it as an AppImage by using appimagetool -u.

The steps would be to update the ci workflow after package.ts is run to (1) extract the AppImage, (2) repackage with:

appimagetool -u "gh-releases-zsync|shiftkey|desktop|latest|GitHubDesktop-linux-*.AppImage.zsync" 

and (3) attach the repacked AppImage and zsync file to the release.

That being said, I think the more natural thing would be to use whatever update mechanism electron-builder supports.

mwt avatar Feb 08 '22 04:02 mwt