[Updater] Use Sparkle for automatic updates (on OS X)
Sparkle is a popular OS X framework for handling automatic updates. Replacing Doomsday's own updater in favor of this would be good for the user experience on OS X.
However, this may not be feasible until Snowberry is dropped and Doomsday can really be distributed/installed as a single app.
The Doomsday Shell would perhaps need to be distributed separately in this scenario.
#3 Updated by skyjake over 7 years ago
I suppose the main benefit would be on the Mac where our own updater is pretty wonkily implemented (generated scripts, etc.). Check out the bullet points. I would say the best features are DSA signatures and generally being a robust, de facto solution for autoupdating used by many apps. It's better to rely on existing, well-tested code than roll one's own, particularly when it comes to a relatively complex topic like automatic updates.
#4 Updated by danij over 7 years ago
Well, most of those bullet points are already covered by Doomsday's own updater mechanism. The existing updater is:
It is fully integrated with Doomsday, unlike the Sparkle UI which will necessarily be external and a completely different style.
By virtue of the fact Doomsday is already running at the time an update is installed, we can update in "secure locations" ourselves.
The one feature in that list I'm unsure of wrt Mac OS is DSA (I thought you were already signing the bundles? At least thats what the build script appears to do).
I wonder if there is perhaps a Mac OS equivalent of WiX Toolset? http://wixtoolset.org/ On Windows this would give us the best of both worlds; 1) standards-compliant and robust updating 2) fully integrated update UI. From the looks of Sparkle, we'd be sacrificing one to improve the other?
#5 Updated by skyjake over 7 years ago
This topic is highly platform-specific. On OS X, we are dealing with self-contained application bundles that are simple to update with a framework like Sparkle. Not having to maintain this tricky piece of code ourselves would allow spending the time more productively. Also, the UI that Sparkle implements is pretty much de facto standard on Mac for apps' self-updating.
I thought you were already signing the bundles
Signatures are indeed produced, however no one is checking them during the auto-update process.
Mac OS equivalent of WiX Toolset
The build and packaging process on OS X is utterly dependent on Apple's tools (.pkg format, metadata, developer/installer signatures, etc.). It is already being done appropriately for the platform.
On Windows we certainly do need something like WiX Toolset.
#7 Updated by danij over 7 years ago
Being completely unfamiliar with the requirements of the Mac OS platform I'll bow to your better judgement here.
However as an outsider looking in, it appears to me that we'd be losing the nice integration with the Doomsday UI if we switched to using Sparkle. I'd say that is a high price to pay. At least in the Windows world, I very much like the fact updating is integrated with Doomsday.