borgbase / vorta

Desktop Backup Client for Borg Backup
https://vorta.borgbase.com
GNU General Public License v3.0
2.02k stars 134 forks source link

appcast.xml only announces ARM builds for macOS, breaking updates on Intel Macs #2130

Open meineerde opened 6 days ago

meineerde commented 6 days ago

Description

The appcast.xml file at https://borgbase.github.io/vorta/appcast.xml which is used by the Sparkle update framework currently announces only the ARM builds for Vorta 0.10.0 and 0.10.1. This breaks Vorta on Intel Macs when the automatic update runs.

The appcast should also announce Intel builds to allow Sparkle to update the app with the right architecture. Alternatively, Vorta could also be distributes as a universal app, containing both ARM and Intel binaries.

Reproduction

OS

macos 14.7

Version of Vorta

0.10.1

What did you install Vorta with?

Distribution package

Version of Borg

1.4.0

Logs

No response

meineerde commented 6 days ago

A third options could also be to use separate appcast.xml feeds for each architecture, each pointing only to the release files in the current architecture.

m3nu commented 6 days ago

I'm aware this isn't optimal, but I couldn't find a way to server different architectures. Some people suggest to set up a webserver and separate by user agent, which has the architecture (?).

I also don't know how to make a universal app with Pyinstaller, but if someone else knows, just go for it. Workflow used is here: https://github.com/borgbase/vorta/blob/master/.github/workflows/build-macos.yml

meineerde commented 6 days ago

Couldn't it be possible to update the generate_appcast.py script in the gh-pages branch of this repo (which generates the appcast.xml files on https://borgbase.github.io/vorta) to accept an additional argument for the architecture of the binaries and use this to generate more than the two current files, e.g.:

You could then configure the right URL in https://github.com/borgbase/vorta/blob/6bec467e44796f11fdafed5f3ffcf4f183424dee/src/vorta/updater.py#L33-L36 and https://github.com/borgbase/vorta/blob/6bec467e44796f11fdafed5f3ffcf4f183424dee/package/vorta.spec#L14 based on the current architecture of the running app (which I guess can be somehow obtained).

Unfortunately though, with the status quo, the sparkle updates are fully broken for Intel Macs and will result in a broken installation on each and every update again which must then be manually fixed with a manual re-install of the app using the right architecture.

siegbertus420 commented 2 days ago

To anyone who is asking themselves how to fix this: Just update using homebrew or reinstall it from any othe source. Seems like it's only the auto-updater that installs the silicon version.

m3nu commented 2 days ago

Download the right architecture from the release page – Intel or Arm.

https://github.com/borgbase/vorta/releases/tag/v0.10.1