-
Anna Medonosova authored
This merge request is implementing self-update capabilities for AppImages inside Krita. Apart from integration of the tools into Krita's codebase, there are also updated scripts for AppImage building and icons for update channels. There are multiple parts to this patch: 1. C++ code for integration of AppImageUpdate and changes to previous update notifications Both of those options are called Updaters. There is: * The Manual Updater, which is in fact a fancy name for checking for new version on the website and displaying a message to the user together with a link to the release notes. This is the original update notification code, I have slightly modified version checking and moved the code into it's own class. * The AppImage Updater, which is used if Krita detects that it runs from an AppImage. This updater can actually download new version of Krita, if it is available. 2. updated scripts for building appimages I have added code to bundle AppImageUpdate into the AppImage being built. Also, the build scripts infer the update channel (stable, Beta, Plus or Next) from a combination of Krita version and git information. This info is used for setting up proper update channel and selecting the right branding option. I have also added helper scripts for signing the already built AppImage (sign_appimage.sh, generate_zsync.sh; also strip_appimage_signature.sh and validate_appimage_signature.sh for debugging purposes) and rewriting update information of the built AppImage (update_updinfo.sh). 3. icons for update channels I have added icons I made for myself to make sense of all my AppImages. The icons are in krita/pics/branding, together with a script for generating all icon sizes from svg (generate_icons.sh). Changes to building - there are two new cmake flags: * ENABLE_UPDATERS (bool, can be ON or OFF) - this flag toggles all updater code, both the appimage updating and update notifications * BRANDING (string, can be default, Beta, Plus, or Next) - this flag controls which app icons will be installed
78d8377a