What's the best way to upgrade a package on OS X?

asked 2014-07-11 09:49:34 -0600

Michael Melanson gravatar image

updated 2014-07-11 13:40:50 -0600

I have Puppet agents on Mac Mini machines running OS X, and right now we're using Munki for package management. We use it to install our application, as well as the Adobe Flash Player. Ideally, I would like to remove Munki from the mix, so we have one fewer moving parts, and just have Puppet do the package management.

A critical requirement here is that we must be able to roll out updates to our application from time to time. Since this is our application, we are flexible in how we distribute it (.pkg, .app.dmg, .pkg.dmg, etc.).

I see there are a few options for package providers on OS X: apple, appdmg and pkgdmg. But from what I can gather, none of them handle upgrading. Is this correct?

One solution I see is to include the application version in the name (e.g. "ApplicationX-123.pkg"), and just update the name and source to ensure that the new version is installed. Installing it will overwrite the old version of the application, effectively upgrading it. It will leave behind receipt files for all the old versions, but that's a fairly minor problem I think.

Are there any better ways of handling upgrades of packages on OS X?


edit retag flag offensive close merge delete