How to create an installer

To improve the stability of our installers, please follow this checklist:

  1. Before you start, you should ensure that all the code compiles and work as expected. We recommend the following steps:
    • Make sure that your local repositories are all on the master branch and up to date. Also make sure that all local commits have been pushed to GitHub.
    • Make a clean build in Deployment mode: ./build.rb Deployment clean
    • Don't proceed unless everything compiles without errors.
    • Run the unit tests from /Tools/test.sh
  2. Bring all html reference files for Jamoma up to date using generateHTML.maxpat
  3. Commit and push any changes that this might have lead to.
  4. Tag the new version in all git subprojects using the tag.rb script from the Tools folder
  5. Now do a new Deployment build so that Jamoma externals get tagged with the correct version.
  6. Run ./installer.rb from the Tools folder (in case you are running XCode 4.3 or higher see Note below)
  7. Upload final dmg package to jamoma.org/downloads
  8. Change http://jamoma.org/download.html respectively

Note for XCode 4.3 and higher

This installer script is made to work with Xcode 4.2 or earlier Xcode 4.3 and later is now an application residing in /Applications
One consequence is that PackageMaker no longer is installed by default. Here are steps to make this script working with Xcode 4.3 or later

  1. Log in to developer.apple.com
  2. Go to https://developer.apple.com/downloads
  3. Download Xcode 4.4 Auxiliary Tool
  4. Create the following folder/ssubfolder structure if it is not already existing: /Developer/usr/bin
  5. Create a new folder Applications/Xcode 4.4 Auxiliary Tool
  6. Create a symlink using this Terminal command:

ln -s /Applications/Xcode\ Auxiliary\ Tools/PackageMaker.app/Contents/MacOS/PackageMaker /Developer/usr/bin/packagemaker

Now the installer script is able to find packagemaker.


With OSX 10.8 the installer script is not fully functional. It's been beyond our capacity to sort this fully out, and here is our workaround :

1) Do all the regular stuff: Building, testing, tagging, creating HTML documentation, etc,

2) Run the installer script

3) When it has crashed and finished, I open the /Tools/installertools/packageMakerScript.pmdoc in PackageMager, and hit "Run". This adds a Jamoma installer package to the /installer/Jamoma folder

4) Now I open Disk Utility, choose "New Image from folder" and locate the /Installer/Jamoma folder. The resulting disk image is saved with the appropriate name.