Evening, I have been thinking about the Jenkins Mac installer. The current installer which uses the Apple Installer has some shortcomings:
1) The installer is difficult to create. The old tool, PackageMaker was notorious for driving developers up the wall and the new packaging tools, while much better (so I hear), still have their limitations. 2) It is not possible to customize the steps of the installation. The current Mac installer is quite rigid and does not fit everyone's use case. It does not allow us to prompt the user for more information to customize the installation process. 3) It is difficult to install from the command-line. It is possible to do the installation over ssh using command-line only, but changing the default installation options is difficult. 4) There is no uninstall. I spent a little time experimenting with a different approach with the Mac installer. The result of the experiment can be seen in https://github.com/jenkinsci/jenkins/pull/430. Please do not merge it yet. Let's talk about it first. This is just a prototype but it seems to work. Would we be interested in abandoning the Apple Installer approach and rolling our own installation utility? The requirements placed on the installer by Jenkins seem to be very modest and everything that is required is an easy way to unpack the files where they belong, possibly set up a user and permissions and configure a launchd job. I'm not sure what exactly is the benefit we are getting from using Apple Installer and given the cons I listed above, I think we could easily provide the Mac users with a better installation experience. Any thoughts? -- Sami
