== Setting up a BuildBot slave on Solaris ==
**NOTE #1:**
//It would probably make sense to create a seperate zone for the buildbot on your Solaris 10 system. That is left up to you!//
**NOTE #2:**
//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 on their [[http://pypi.python.org/pypi/zope.interface|site]].//
=== Solaris 10 (SPARC)
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:
# 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/):<<code lang=sh inline=false>>$ 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
<</code>> //If you are unfamiliar with howto install packages from Sunfreeware please
read their [[http://www.sunfreeware.com/indexsparc10.html|howto]].//
# Setup your environment:
**Create a user:<<code lang=sh inline=false>>$ useradd -d /export/home/buildbot -m buildbot
<</code>>
//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): <<code lang=sh inline=false>>$ vi /etc/profile
LD_LIBRARY_PATH=/opt/csw/lib:/usr/local/lib:/usr/sfw/lib:$LD_LIBRARY_PATH # Add required libraries
PYTHONPATH=/usr/local/lib/python2.5/site-packages:$PYTHONPATH # Makes Python 2.5 the default
PATH=/usr/local/bin:/usr/bin:/usr/sbin:/etc:/usr/sfw/bin:$PATH # Puts "local" packages in your path
export LOGNAME PATH PYTHONPATH LD_LIBRARY_PATH
<</code>>
# Install the latest Twisted: <<code lang=sh inline=false>>$ wget 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
<</code>>
# Install required packages from Sunfreeware:<<code lang=sh inline=false>>automake, autoconf, gcc, m4, md5, openssl, libsigsegv, Tcl, Tk, perl,
libtool, sed, libgcc, gcc, libintl, libiconv, zlib, binutils, groff, cmake
<</code>>
# Install the Bazaar DVCS:
** You can find a package on [[http://code.google.com/p/bzrunix/downloads/list|Google Code]].
** 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 .
# Volunteer your buildbot to the Maria team. Follow the directions listed in the **Volunteering to run a build slave** section of the [[about-buildbot|About Buildbot]] page.
# Create the buildbot as the buildbot user:<<code lang=sh inline=false>>buildbot create-slave --usepty=0 /export/home/buildbot/maria-slave
hasky.askmonty.org:9989 ${buildbotname} <passwd>
<</code>> //Replace ${buildbotname} with the buildbot name you received from the
MariaDB 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.//
# Create a shared Bazaar repository in the buildbot build directory:<<code lang=sh inline=false>>HOME=/export/home/buildbot; bzr init-repo maria-slave/${buildbotname}
<</code>> //Replace ${buildbotname} like you did in **Step #7**.//
# Attach the buildbot to the master (this assumes you are not logged in as buildbot):
<<code lang=sh inline=false>>sudo su - buildbot -c "/usr/bin/buildbot start /export/home/buildbot/maria-slave"
<</code>> //
OPTIONAL: You can create a proper service by following (and modifying as necessary) these
[[http://wadofstuff.blogspot.com/2007/01/smf-manifest-for-buildbot.html|directions]]//
# Please ask on the #maria [[IRC]] channel on irc.freenode.net if you have
problems or questions setting up your buildbot. Or ask on the on the [[http://launchpad.net/~maria-developers|maria-developers]] mailing list.
# Check the status of your buildbot through the
[[http://buildbot.askmonty.org/buildbot/buildslaves|BuildBot buildslaves]] page.
This howto was contributed by Adam Dutko. The original version is [[http://littlehat.homelinux.org/tuts/MariaDB/buildbot/README-SOL10-SPARC|here]].