Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Topgrade! Is there any way to determine whether a specific App uses Sparkle? #2131

Closed
kmplngj opened this issue May 28, 2022 · 1 comment
Closed

Comments

@kmplngj
Copy link

kmplngj commented May 28, 2022

Also, it doesn't seem that this cli can detect and upgrade all Sparkle enabled apps. Is there any way to determine whether a specific App uses Sparkle?

Originally posted by @r-darwish in r-darwish/topgrade#657 (comment)

Topgrade is willing to integrate Spark Updates. Could someone perhaps help with some information in the mentioned issue?

Thanks a lot!

@zorgiepoo
Copy link
Member

Some heuristics for detecting if an app uses Sparkle are..

  • Looking for SUFeedURL, SUPublicEDKey, or SUPublicDSAKeyFile (deprecated) keys in the app bundle's Info.plist (not perfect since old apps may have not migrated to using an EDKey yet and some apps may not specify the feed URL there)
  • Looking for Sparkle.framework in the app bundle's Frameworks directory (not perfect if a developer forks Sparkle and renames it or places it in some nonstandard location for some reason)

If you instantiate a SPUUpdater targeting the hostBundle to the bundle you want to update, and if -startUpdater: returns an error, that means an external updater definitely cannot retrieve enough information (including the feed URL) to update the bundle.

Check how sparkle-cli is implemented. It uses a SPUUpdater targeting the external bundle, and its own SPUUserDriver for driving its own command line user interface.

Last time I checked, Latest for example drives updates using its own user driver, rather than using sparkle-cli. Both are possibilities, though.

@sparkle-project sparkle-project locked and limited conversation to collaborators Jun 6, 2022
@zorgiepoo zorgiepoo converted this issue into discussion #2141 Jun 6, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants