Automatic chromium updates for Mac

603 views
Skip to first unread message

nicholas...@lucidworks.com

unread,
May 6, 2018, 6:57:39 PM5/6/18
to Chromium-dev
Hey, I found project Omaha which can automatically keep a Windows build of Chromium up to date using an update server.

But that is pretty much Windows only. 

But what about Mac builds? What are people using for keeping Chromium up to date on Mac?

I took some time and tried to figure out how to integrate Sparkle framework into Chromium but I'm having a hard time even getting started. 

Then I found some mention that the Sparkle app is no longer compatible with Chromium.  https://groups.google.com/a/chromium.org/forum/#!search/sparkle%7Csort:date/chromium-dev/zLOKLGZI_h4/eNxg8n7GLwAJ

Is it true that I cannot use Sparkle anymore? 

Does anyone have any github or other links to projects that have a custom build of chromium with an automatic updater? 

Thanks!
-Nicholas

Joshua Pawlicki

unread,
May 7, 2018, 8:59:42 AM5/7/18
to Chromium-dev
On Mac we often use update-engine: https://code.google.com/archive/p/update-engine/

Nicholas DiPiazza

unread,
May 7, 2018, 10:01:36 AM5/7/18
to Chromium-dev
Is it moved to github/maintained anymore? 

Either way, thank you I will give it a look!

Joshua Pawlicki

unread,
May 7, 2018, 1:59:36 PM5/7/18
to nicholas...@gmail.com, Chromium-dev, bor...@chromium.org
Hm, unfortunately, no, and now I realize it's quite a bit out of date. I reached out to the team that develops the internal version but they regretfully said they don't have the cycles to maintain the open source version.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to a topic in the Google Groups "Chromium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-dev/JPqJdJhvwp8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/07e860b8-5c16-45cf-acf5-07ca0b900025%40chromium.org.

Nicholas DiPiazza

unread,
May 7, 2018, 2:27:41 PM5/7/18
to Joshua Pawlicki, Chromium-dev, bor...@chromium.org
I was able to get Omaha working in a matter of a few hours for the Windows auto-updates. works great!!

But I'm afraid I really don't know where to start with mac and getting this working. 

Any pointers? 

To unsubscribe from this group and all its topics, send an email to chromium-dev+unsubscribe@chromium.org.

Nicholas DiPiazza

unread,
May 7, 2018, 10:59:16 PM5/7/18
to Boris Vidolov, John Mevissen, Joshua Pawlicki, Chromium-dev
Hi Boris, 

Thanks so much for taking time to reply! Really appreciate it. 

Yes I plan on building a slightly modified version of chromium and then having my own update server with the updates.

Damn, so it sounds like Keystone is not quite usable. 

Do you think it would be easier to:

A) Use the archived/maintained update-engine?
B) Add Sparkle framework into the chromium code somehow? 

I am the weakest on the Objective-C portion of the code... so this all sounds like it's going to be very tricky for me to deal with. 

On Mon, May 7, 2018 at 4:13 PM, Boris Vidolov <bor...@chromium.org> wrote:
Hi Nicholas,

The mac updater for Chrome is called Keystone and is based on https://code.google.com/archive/p/update-engine/. Unfortunately, as Josh already mentioned we don't have the resources to keep that public project up to date with the internal development so the two have diverged quite a bit. 

Keystone installs itself locally in  $HOME/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle or in case of system-wide updates, the updater will be in the same path under /Library.

Chrome uses KeystoneRegistration.framework to keep itself updated. You can find how it uses it here: https://cs.chromium.org/chromium/src/chrome/browser/mac/keystone_glue.mm. That framework simply calls the updater utilities - ksintall, ksadmin and GoogleSoftwareUpdateAgent. The first one installs Keystone on the system, the other two communicate with it - register Chrome with Keystone and check for updates.

Do you plan to use your own update server or Google one? Keystone allows the server URL and the app to be changed, but it has some logic that locks itself to Google auto-update servers for security reasons. So I am afraid that you will not to be able to use Keystone as is with your own server. That said, you can build a solution based on the open source update engine above.

Bishwa Thapa

unread,
Sep 16, 2024, 6:06:18 AM9/16/24
to Chromium-dev, Nicholas DiPiazza
Hey, 

Could you let me know how you managed to get Omaha working for Windows builds? I’d love to hear about your findings.


To unsubscribe from this group and all its topics, send an email to chromium-dev...@chromium.org.

Joshua Pawlicki

unread,
Sep 16, 2024, 8:22:10 AM9/16/24
to thapab...@gmail.com, Chromium-dev, Nicholas DiPiazza
Some time has passed since 2018 and the currently-maintained Windows and macOS updater now lives in the Chromium source tree at //chrome/updater, with documentation at //docs/updater.

Hopefully, if you are accustomed to building Chrome, you will find this version of the updater much easier to build and use.

Joshua Pawlicki

unread,
Sep 16, 2024, 9:08:08 AM9/16/24
to Bishwa Thapa, Chromium-dev, Nicholas DiPiazza
Yes, that's the most applicable code.

On Mon, Sep 16, 2024 at 5:38 AM Bishwa Thapa <thapab...@gmail.com> wrote:
Sorry forgot to add some clarifications. My use case is to provide automatic updates to a custom chromium fork for internal users. Would  source tree at //chrome/updater, with documentation at //docs/updater.  be still applicable?

Also, I recently started working with chromium project. 

Bishwa Thapa

unread,
Sep 16, 2024, 9:54:14 AM9/16/24
to Chromium-dev, Joshua Pawlicki, Chromium-dev, Nicholas DiPiazza, thapab...@gmail.com
Sorry forgot to add some clarifications. My use case is to provide automatic updates to a custom chromium fork for internal users. Would  source tree at //chrome/updater, with documentation at //docs/updater.  be still applicable?

Also, I recently started working with chromium project. 

On Monday, September 16, 2024 at 6:07:10 PM UTC+5:45 Joshua Pawlicki wrote:
Reply all
Reply to author
Forward
0 new messages