Overview
~~~~~~~~
This is a very simple autobuild system with CVS/Subversion
support written in Perl.

At the heart of this system is a very simple script `pant.pl'.
It checks out packages given in `packages' files from a CVS server
given by `cvsroot' and `cvs_rsh' files in project/package directories
and applies rules (from `rules' files) to these packages given in
project/package directories.  Subversion is supported by using
`svnroot' files in project/package directories.  If neither of
`cvsroot/svnroot' files is files is provided, the system use CVS and
falls back on system CVSROOT and CVS_RSH variables (please see env.sh).

The basic use of the script is
$ pant.pl <project_directory>
where <project_directory> contains project-specific files 
`packages', `rules' and optionally `tag', `cvsroot', `cvs_rsh' and 
`svnroot'.

The format of these files is very simple.  A single line of a packages
file contains a single package to be retrieved from the CVS server.
A single line of a rules file contains a single command to be executed
in the package directory during the process of building a package.
The commands are executed sequentially starting at the top, right down
to the bottom of the rules file.  In both files, leading and trailing
whitespace is ignored and so are the lines beginning with the hash mark
character `#'.

A set of rules/commands for building a package can be overridden, by a
`rules' file in package-specific directory.  All files (apart from
`packages' files) can be overriden, which gives the build system a
great deal of flexibility.  In other words, not only rules and tags
can be overriden, but project packages can be retrieved from various
CVS/Subversion repositories and built as a single project.

Quick start
~~~~~~~~~~~
There are a few example projects in the `testing' directory one of which
builds pant itself.
