This directory contains code which can be used on the buildmachine. I
do not know what programs you will find most useful as this is highly
build machine dependent.
build_shellscript: A simple and general build script which you can
customize by creating a file similar to generic.sample.buildcf.
generic.sample.buildcf: a sample file to give you ideas how to build
your application.
mozilla.unix.buildcf: my best guess on how the Mozilla.org team can
use my build scripts on their builds. I really believe they should
rewrite their build scripts to have better interfaces. The complexity
does not belong in the buildscript but in their makefiles and
configure scripts.
build_redhat_initrc: an /etc/rc.d/init.d file. This is used to ensure
the build machine will start the build script after every reboot.
cull_archive_dirs: my build scripts put finished builds in an NFS
directory. I run this script every hour to keep only current builds
(the eight most recent builds and one build for each of the previous
eight days).
show_*: My build logs contain much data about the build environment.
I use these scripts to gather up the data in a readable format.
ignore_waitstatus: a program used to run other programs but ignore the
exit code. Sometimes this is useful for testing.
test_return: a test program which exits with any exit code required and
any stdout and stderr required.
This directory contains example Tinderbox client scripts. These scripts are
for illustration/documentation purposes only and are not maintained
regularly. Current scripts to build mozilla will live in an another spot
in the mozilla tree.
Three examples have been provided:
mozilla-windows.pl: perl script that drives mozilla tinderbox builds for Win32
mozilla-unix.pl : perl script that drives mozilla tinderbox builds for UNIX
build-moz-smoke.pl: perl script that drives mozilla tinderbox builds for UNIX,
and subsequently runs the executable returning a green tree only if
it does not crash.
These scripts show the basic elements of a Tinderbox client script. These
elements are:
1) Sending a start e-mail to the Tinderbox server, in the form of a formatted
mail message. Example:
tinderbox: tree: Mozilla
tinderbox: builddate: 900002087
tinderbox: status: building
tinderbox: build: IRIX 6.3 Depend
tinderbox: errorparser: unix
tinderbox: buildfamily: unix
2) Obtain a source tree by performing a cvs checkout.
3) Perform the build, saving the output to a log file.
4) Determine if the build was successful or failed. This could be done either
by checking for the presence of a binary, or being using error codes returned
from the compile command.
5) Send a completion message to Tinderbox, identifying build success or
failure. Example:
tinderbox: tree: Mozilla
tinderbox: builddate: 900002087
tinderbox: status: success
tinderbox: build: IRIX 6.3 Depend
tinderbox: errorparser: unix
tinderbox: buildfamily: unix