Bug 446757

Summary: Appimage update does not work, underlying mechanism is either not present or not executable.
Product: [Applications] krita Reporter: wolthera <griffinvalley>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: amy, anna.medonosova, dimula73
Priority: NOR    
Version: 5.0.0-beta2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description wolthera 2021-12-09 22:14:54 UTC
SUMMARY
The appimages don't seem to provide their internal update mechanism anymore.

Looking at the log, we can find the following:

09 Dec 2021 23:00:18 +0100: KisAppimageUpdater: AppImageUpdate (/tmp/.mount_krita-mJKum4/usr/bin/AppImageUpdate) was not found within the Krita appimage, or is not executable

----------------
Krita

 Version: 5.0.0-beta2 (git 5771a7d)
 Languages: en_US, en, en_GB, en, nl, en_US, en
 Hidpi: false

Qt

  Version (compiled): 5.12.12
  Version (loaded): 5.12.12

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 5.4.0-91-generic
  Pretty Productname: KDE neon User - Plasma 25th Anniversary Edition
  Product Type: neon
  Product Version: 20.04
  Desktop: KDE
Comment 1 Bug Janitor Service 2022-01-02 14:38:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1269
Comment 2 Anna Medonosova 2022-01-02 14:42:12 UTC
Hi, Wolthera,

I can reproduce the issue in the betas, Plus and 5.0.0 stable version. I have filed a MR that should fix embedding of the AppImageUpdate tool.

There is also a second issue that breaks the update process: the zsync files are missing on the download server. The update mechanism expects the zsync files to be available as https://download.kde.org/unstable/krita/updates/Krita-Beta-x86_64.appimage.zsync for stable version and https://download.kde.org/stable/krita/updates/Krita-Stable-x86_64.appimage.zsync for betas.
Comment 3 Dmitry Kazakov 2022-01-03 11:57:10 UTC
Git commit 7e1dca680b87cfad4ee62502212bc8254e628b4c by Dmitry Kazakov, on behalf of Anna Medonosova.
Committed on 03/01/2022 at 11:54.
Pushed by dkazakov into branch 'master'.

Fix bundling AppImageUpdate into appimages

Commit de2315ef added the check to disable embedding the AppImageUpdate
script when CHANNEL is not manually set from the command line. However,
this breaks all the Plus and Release builds on the Binary Factory (which
use CHANNEL autodetection from the source code).

AppImageUpdate is available only for amd64 at this moment.

M  +1    -1    packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/7e1dca680b87cfad4ee62502212bc8254e628b4c
Comment 4 Dmitry Kazakov 2022-01-03 12:00:24 UTC
Git commit c5ddd88aa328d64f2c1c55927dc161c03efc115f by Dmitry Kazakov, on behalf of Anna Medonosova.
Committed on 03/01/2022 at 12:00.
Pushed by dkazakov into branch 'krita/5.0'.

Fix bundling AppImageUpdate into appimages

Commit de2315ef added the check to disable embedding the AppImageUpdate
script when CHANNEL is not manually set from the command line. However,
this breaks all the Plus and Release builds on the Binary Factory (which
use CHANNEL autodetection from the source code).

AppImageUpdate is available only for amd64 at this moment.
(cherry picked from commit 7e1dca680b87cfad4ee62502212bc8254e628b4c)

M  +1    -1    packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/c5ddd88aa328d64f2c1c55927dc161c03efc115f
Comment 5 Dmitry Kazakov 2022-01-03 12:00:49 UTC
Git commit 46c47d66f2e07ab9953bd111126e0d268f6b1b1d by Dmitry Kazakov, on behalf of Anna Medonosova.
Committed on 03/01/2022 at 12:00.
Pushed by dkazakov into branch 'krita/5.0.0'.

Fix bundling AppImageUpdate into appimages

Commit de2315ef added the check to disable embedding the AppImageUpdate
script when CHANNEL is not manually set from the command line. However,
this breaks all the Plus and Release builds on the Binary Factory (which
use CHANNEL autodetection from the source code).

AppImageUpdate is available only for amd64 at this moment.
(cherry picked from commit 7e1dca680b87cfad4ee62502212bc8254e628b4c)

M  +1    -1    packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/46c47d66f2e07ab9953bd111126e0d268f6b1b1d
Comment 6 Dmitry Kazakov 2022-01-03 13:53:22 UTC
Git commit 4095e40c00f877fef6c7f462ada60faa91a84efc by Dmitry Kazakov.
Committed on 03/01/2022 at 13:53.
Pushed by dkazakov into branch 'master'.

Fix redownloading of AppImageUpdate every time

M  +25   -19   packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/4095e40c00f877fef6c7f462ada60faa91a84efc
Comment 7 Dmitry Kazakov 2022-01-03 13:58:46 UTC
Git commit 53dd227968b1a11c876bc5f883a00e049f55b377 by Dmitry Kazakov.
Committed on 03/01/2022 at 13:58.
Pushed by dkazakov into branch 'krita/5.0'.

Fix redownloading of AppImageUpdate every time
(cherry picked from commit 4095e40c00f877fef6c7f462ada60faa91a84efc)

M  +25   -19   packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/53dd227968b1a11c876bc5f883a00e049f55b377
Comment 8 Dmitry Kazakov 2022-01-03 13:59:17 UTC
Git commit d39fc634e9afe642e3a5415e093eec7bc137002d by Dmitry Kazakov.
Committed on 03/01/2022 at 13:59.
Pushed by dkazakov into branch 'krita/5.0.0'.

Fix redownloading of AppImageUpdate every time
(cherry picked from commit 4095e40c00f877fef6c7f462ada60faa91a84efc)

M  +25   -19   packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/commit/d39fc634e9afe642e3a5415e093eec7bc137002d
Comment 9 amyspark 2022-01-03 22:50:34 UTC
> There is also a second issue that breaks the update process: the zsync files are missing on the download server. The update mechanism expects the zsync files to be available as https://download.kde.org/unstable/krita/updates/Krita-Beta-x86_64.appimage.zsync for stable version and https://download.kde.org/stable/krita/updates/Krita-Stable-x86_64.appimage.zsync for betas.

One mo, shouldn't these be https://binary-factory.kde.org/job/Krita_Stable_Appimage_Build/lastSuccessfulBuild/artifact/Krita-Plus-x86_64.appimage.zsync and https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/lastSuccessfulBuild/artifact/Krita-Next-x86_64.appimage.zsync?
Comment 10 Anna Medonosova 2022-01-04 13:06:13 UTC
Hi, amyspark,

> One mo, shouldn't these be
> https://binary-factory.kde.org/job/Krita_Stable_Appimage_Build/
> lastSuccessfulBuild/artifact/Krita-Plus-x86_64.appimage.zsync and
> https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/
> lastSuccessfulBuild/artifact/Krita-Next-x86_64.appimage.zsync?

I think the naming gets a little confusing, as there is a mismatch between branding/update channel and binary factory job names. For clarity, I have summarized it in the following table.

> +---------+-----------------------------+-------------------------------------------------------------------------------------------------------------------------------+
> | Channel |      binary factory job      |                                                           zsync url                                                           |
> +---------+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
> | Next    | Krita_Nightly_Appimage_Build | https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/lastSuccessfulBuild/artifact/Krita-Next-x86_64.appimage.zsync |
> | Plus    | Krita_Stable_Appimage_Build  | https://binary-factory.kde.org/job/Krita_Stable_Appimage_Build/lastSuccessfulBuild/artifact/Krita-Plus-x86_64.appimage.zsync  |
> | Beta    | Krita_Release_Appimage_Build | the https://download.kde.org/unstable/krita/updates/Krita-Beta-x86_64.appimage.zsync                                          |
> | Stable  | Krita_Release_Appimage_Build | https://download.kde.org/stable/krita/updates/Krita-Stable-x86_64.appimage.zsync                                              |
> +---------+------------------------------+-------------------------------------------------------------------------------------------------------------------------------+
Comment 11 amyspark 2022-01-04 20:44:37 UTC
Ohh, then the real problem is that the zsync's for the official releases have never been uploaded at all.

(In the case of 4.x vs 5.x, should they point to different urls, or should users be upgraded for v4 to v5?)
Comment 12 Dmitry Kazakov 2022-01-05 06:34:26 UTC
For the releases we need to update the release manual for that.
Comment 13 Dmitry Kazakov 2022-01-05 08:33:48 UTC
This commit should fix the stable builds' channel:

https://invent.kde.org/graphics/krita/commit/427ca5a4fcc83915a532188688ee44e6b7e22c82

This commit should fix the release manual:

https://invent.kde.org/documentation/docs-krita-org/-/commit/0f60c6078e5ffe82868fc70577fd3a4482723c8c