Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
2 tasks done
meineerde opened this issue Nov 13, 2024 · 5 comments
Open
2 tasks done
Labels
status:idea Proposed feature, discuss if its useful

Comments

@meineerde
Copy link

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

  • I tried to reproduce the issue.
  • 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
Copy link
Author

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
Copy link
Contributor

m3nu commented Nov 13, 2024

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 m3nu added the status:idea Proposed feature, discuss if its useful label Nov 13, 2024
@meineerde
Copy link
Author

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

if SettingsModel.get(key='updates_include_beta').value:
appcast_nsurl = Cocoa.NSURL.URLWithString_('https://borgbase.github.io/vorta/appcast-pre.xml')
else:
appcast_nsurl = Cocoa.NSURL.URLWithString_('https://borgbase.github.io/vorta/appcast.xml')
and
APP_APPCAST_URL = 'https://borgbase.github.io/vorta/appcast.xml'
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
Copy link

siegbertus420 commented Nov 17, 2024

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
Copy link
Contributor

m3nu commented Nov 17, 2024

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:idea Proposed feature, discuss if its useful
Projects
None yet
Development

No branches or pull requests

3 participants