vorta icon indicating copy to clipboard operation
vorta copied to clipboard

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

Open meineerde opened this issue 1 year ago • 5 comments

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

  • [X] I tried to reproduce the issue.
  • [X] I was able to reproduce the issue.

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 avatar Nov 13 '24 11:11 meineerde

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.

meineerde avatar Nov 13 '24 14:11 meineerde

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

m3nu avatar Nov 13 '24 15:11 m3nu

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.:

  • appcast-arm.xml
  • appcast-amd64.xml
  • appcast-pre-arm.xml
  • appcast-pre-amd64.xml

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.

meineerde avatar Nov 14 '24 00:11 meineerde

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.

siegbertus420 avatar Nov 17 '24 10:11 siegbertus420

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

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

m3nu avatar Nov 17 '24 10:11 m3nu