Adding a machine to the build farm
If you have a machine that you wish to add to our build farm then please follow the following instructions:
- Decide if your machine is suitable for the task:
- Is it a production machine?
- Is it security-sensitive?
- Look at the output from the existing machines - would publishing
file-system locations and IPs be a concern?
- The nature of the task is that executable code is downloaded from
(a site claiming to be) samba.org, and run on your machine by cron.
Does this bother you?
- Is this somebody else's machine?
If you answer yes to any of these these questions, then we probably
should not include it on the build farm.
- See if it is an OS/architecture combination that we already
have. If it is then we won't need it unless the current machine we
have covering that combination goes away for some reason.
Make sure your machine is able to open an outgoing TCP connection
to build.samba.org on port 873 (the rsync port). Test this by running
rsync build.samba.org::
and seeing if you get back the list of rsync modules.
Note: there has been reports that rsync will work via http proxy. A simple
export RSYNC_PROXY=cache:3128
before running rsync should be all that is needed.
- If all is OK then create an account called "build" on the
machine. If you can't create accounts then you can use an existing
account, no special privileges are needed, just change ~build to your
home directory in the instructions below.
- Make sure a recent version of rsync
is installed on the machine
- Create a directory ~build/build_farm/. You will need about 120MB of
free space for this directory.
- (optional) Install ccache
and set a reasonable cache size (300MB would be plenty). This
massively reduces the compilation times and system load for certain
changes.
- Grab the script build_test from cvs or from http://www.samba.org/ftp/unpacked/build_farm/build_test
and put it in ~build/build_farm/ .
- Edit the script if necessary to update the location of the build_farm
directory.
- Tell The build farm
maintainers the name of your machine (as given by the hostname
command) and its OS and architecture plus what C compilers are
installed. One of the team will send you a password. Put that in a
file called ".password" in the build_farm directory.
- Run the script build_test once manually and make sure the build ran OK.
Look in build.log for errors.
- Setup a cron job to run build_test regularly. You may wish to use
"nice" to reduce its priority, for example I use the following cron
entry:
0,30 * * * * /bin/nice /home/build/build_farm/build_test 2> /home/build/cron.err
- Check that build.samba.org
is showing your new host and that it is being updated regularly.
Note that only a very small amount of bandwidth is used.
Andrew Bartlett reports having seen 6 of the boxes in the farm from behind a
modem, and it only used a tiny proportion of that modems bandwidth.
He also reports having had 2 of the machines behind a modem - dial-up links
are fine too.
Thanks!