Skip to content

Embed zsync content within AppImage to be used in AppImageUpdate #525

@pamarcos

Description

@pamarcos

Please consider this as an idea. My understanding after reading #238, is that we can actually embed anything in the header of the AppImage without affecting the content of what the AppImage holds (the image itself).

Depending on how big your AppImage and how powerful your machine is, calculating the checksums for the zsync file in order to use AppImageUpdate might not be that trivial. This is probably not a big issue when using the appimageupdate tool manually against your AppImage. However, when creating a self-updateable AppImage, checking regularly for new versions may waste resources for something that you already did a while ago.

For such cases, I think it might be worth to store directly the zsync information of the content of the AppImage so that it can be reused every single time the application checks for an update. Take into account that this would be an option and should never be enforced when creating an AppImage. After all, not every AppImage wants to use AppImageUpdate, right?

PROs:

  • Checking just for updates becomes even more trivial. You could even do something as straightforward as checking directly if remote_zsync == local_zsync without having to calculate any checksum at all. Not the safest option, but still better than comparing MTime

CONs:

  • It increases the size of the AppImage itself. Whether this is worth it or not, depends on the kind of AppImage and I think it's up to the developer to decide

What do you think, @probonopd, @TheAssassin?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions