Monday, February 01, 2010

Setting up Snow Leopard for a Mozilla Release Engineer

This is more of my personal setup from scratch that can help others to setup in a faster manner or for my next reinstall.

This post can be divided into:
  • Basic development tools
  • Buildbot setup
  • Personal touch
WARNING: I could have missed some steps or written them incorrectly. Use at your own risk

Basic development tools
After reading Mac_OS_X_Build_Prerequisites I took these these steps out of it:
  • install XCode from the Mac Installation DVD (it can also be downloaded)
  • install MacPorts - download page
    • sudo port install libidl autoconf213 (it took 30 mins)
    • sudo port install mercurial
    • sudo port install wget
    • sudo port install git-core +svn
  • sudo ln -s /opt/local/bin/autoconf213 /usr/local/bin/autoconf-2.13 (this is Rel. Eng. specific)


Buildbot setup

NOTE: At first I had some problems with python 2.6 which comes by default. If by any chance you need to switch to python 2.5 I recommend you to use the following command rather than trying to build it yourself (python 2.5 doesn't easily build on snow leopard and it is not planned to port the fix)
defaults write com.apple.versioner.python Version 2.5
(this will select the already installed python 2.5 version on Snow Leopard)

From buildbot, python, twistd and zope for Mac OS X page and my own experience:
wget http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz tar xfvj zope.interface-3.3.0.tar.gz cd zope.interface-3.3.0sudo python setup.py install
cd ..
wget http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2
tar xfvj Twisted-8.2.0.tar.bz2
cd
Twisted-8.2.0sudo python setup.py install
cd ..

hg clone http://hg.mozilla.org/build/buildbot
cd buildbot
sudo python setup.py install
  • create your buildbot master and slave where you want them
buildbot create-master master
buildbot create-slave slave localhost:9010 moz2-darwin-slave03 password
cd master
ln -s ~/repos/buildbotcustom
ln -s ~/repos/buildbot-configs/mozilla2-staging/*.{py,ini,cfg} .
ln -s ~/repos/buildbot-configs/mozilla2-staging/l10n-changesets* .
ln -s master1.cfg master.cfg
ln -s release_config1.py release_config.py
ln -s release-fennec-mozilla-1.9.2.py release_mobile_config.py
  • comment out on master.cfg the information with regards to the buildbot DB (sqlalchemy)
  • create a file called BuildSlaves.py and enter this content:
SlavePasswords = {
    'linux': 'password',
    'linux64': 'password',
    'win32': 'password',
    'macosx': 'password',
}
Personal touch

At this point I am missing instructions for the following (it might come in following posts):
  • install a better version of Vim or find setting to change (numeric keypad behaves oddly)
  • setup my Microsoft Keyboard and Mouse (look for the CD or place to download it)
  • install csshX (it allows me connect to multiple machines at the same time)
  • how to setup the Centos VM to work with your local buildbot master
  • how to setup a Windows VM to work with your local buildbot master



Creative Commons License