4

I want to create an installer for a Apache Mesos for Mac. I don't want to use brew since that needs several steps and an internet connection and packaging makes one definite version we can push and also isolate from version changes.

Furthermore, Mesos has dependencies on java, git, autoconf, automake, libtool, subversion, and maven.

How do I start with packaging all these dependencies?

  • I’ll address the mechanics of what a package does and the bonus aspects in an answer (or edit to the answer) - let’s leave the question as a strong - get me a package for this tool. – bmike Mar 31 '18 at 1:47
  • Also - you can see my answer is just a broad overview that you’ll need to dive into, digest and perhaps ask a follow on question if you start down one of the paths. Hopefully this is useful if you really can’t use brew to get the installs done. It’s really quite amazing unless you need to do lots of packages, that might be the pragmatic solution. – bmike Mar 31 '18 at 2:01
3

For a simple package where you just want to pack up one folder (or three) of files, you can use a quick and easy tool and often make good packages.

For something more on the complicated side, you may need a book or couple of tutorials as well as the ability to have a virtual OS so you can test your package on a clean macOS or test Mac.

The best book I know on how to package is this one by Armin Briegel

Packages on macOS can contain pre-install scripts, several layers of files and post-install scripts and the second chapter of the book goes over all of those in detail.

In your case, I would try to leverage a community packaging resource like AutoPKG recipe for every dependency you can find and hopefully mesos itself:

Here is a very nice list of starte recipes you can examine and inspect to learn how to layer in many files or take apart a simple package vs a complex one:

If all this git and scripting and tools is too much learning (for ever or just for now), you could also do far worse than get a great tool to help you just build the package manually using an app to guide you in the process:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .