Source

Portfolio / hacktuts / mariadb / README-SOL10-SPARC.buildbot

NOTE: It would probably make sense to create a seperate zone for the buildbot
on your Solaris 10 (SPARC) system.

NOTE: You might need to install the Zope Interface package for some of the 
Python pieces to work properly.  Do this after installing Python 2.5.  You 
can find information on the Zope Interface at:

 http://pypi.python.org/pypi/zope.interface.

Unless you want to spend time optimizing the underlying Solaris 10 (SPARC) 
installation, it is strongly suggested that you choose the "Entire" Software 
Group during the installation process.  Once you have your Solaris 10 (SPARC)
 system on the network and able to access the Internet you can use the 
following suggestions to setup your buildbot:

1) By default Solaris 10 comes packages with Python 2.6.x.  For compatibility 
reasons, you need to install Python 2.5.x.  The author found it easiest to use 
Sunfreeware (ftp://ftp.sunfreeware.com/pub/freeware/sparc/5.10/): 

$ cd /tmp
$ ftp ftp.sunfreeware.com
Name: anonymous
Password: (your email address)
ftp> bin
ftp> cd pub/freeware/sparc/5.10/
ftp> get python-2.5.4-sol10-sparc-local.gz
ftp> quit
$ gunzip python-2.5.4-sol10-sparc-local.gz
$ pkgadd -d python-2.5.4-sol10-sparc-local

NOTE: If you are unfamiliar with howto install packages from Sunfreeware 
please read http://www.sunfreeware.com/indexsparc10.html.

2) Setup your environment:

Create a user:

$ useradd -d /export/home/buildbot -m buildbot

NOTE: It is imperative that you not use Bash as the buildbot user's shell.  
It could have been a dependency issue but I literally spent several days 
trying to solve why the buildbot wasn't checking out code with bzr only to 
discover that using the default Solaris shell fixed the problem.  If someone 
comes up with a solution please let us know on the mailing list.

Adjust the global profile (you could be more granular here but since I'm 
setting up a dedicated system I wasn't):

$ vi /etc/profile

# Add required libraries
LD_LIBRARY_PATH=/opt/csw/lib:/usr/local/lib:/usr/sfw/lib:$LD_LIBRARY_PATH
# Makes Python 2.5 the default
PYTHONPATH=/usr/local/lib/python2.5/site-packages:$PYTHONPATH
# Puts "local" packages in your path
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/etc:/usr/sfw/bin:$PATH
export LOGNAME PATH PYTHONPATH LD_LIBRARY_PATH

3) Install the latest Twisted:

$ wget http://tmrc.mit.edu/mirror/twisted/Twisted/9.0/Twisted-9.0.0.tar.bz2
$ bunzip2 Twisted-9.0.0.tar.bz2
$ tar -xf Twisted-9.0.0.tar
$ cd Twisted-9.0.0
$ python setup.py build install

4) From sunfreeware install automake, autoconf, gcc, m4, md5, openssl, 
   libsigsegv, Tcl, Tk, perl, libtool, sed, libgcc, gcc, libintl, libiconv,
   zlib, binutils, groff

5) Install the Bazaar DVCS:

http://code.google.com/p/bzrunix/downloads/list

Install the latest Bazaar for Solaris 10.  At the time of this writing it was 
1.14.1: http://bzrunix.googlecode.com/files/bzr-1.14.1-sol10-sparc-local.gz .

6) Volunteer your buildbot to the Maria team by following the directions 
listed on https://askmonty.org/wiki/index.php/Buildbot under "Volunteering to 
run a build slave."

7) Create the buildbot as the buildbot user:

buildbot create-slave --usepty=0 /export/home/buildbot/maria-slave hasky.askmonty.org:9989 ${buildbotname} <passwd>

NOTE: Replace ${buildbotname} with the buildbot name you received from the 
Maria DB developers.  Replace <passwd> with the password they gave you.  You 
can adjust these and other parameters anytime within the 
maria-slave/buildbot.tac file at anytime in the future.

8) Create a shared Bazaar repository in the buildbot build directory:

HOME=/export/home/buildbot bzr init-repo maria-slave/${buildbotname}

NOTE: Replace ${buildbotname} like you did in Step #7.

9) Attach the buildbot to the master:

buildbot start /export/home/buildbot/maria-slave

OPTIONAL: You can adjust the directions found at:

 http://wadofstuff.blogspot.com/2007/01/smf-manifest-for-buildbot.html 

to create a proper service for buildbot or run it manually.

10) Please login to irc.freenode.net channel #maria if you have problems or 
questions setting up your buildbot.  Or ask on the mailing list. 

11) You can check the status of your buildbot at:

 http://askmonty.org/buildbot/buildslaves