It's available for download at http://www.agendaless.com/Members/chrism/software/buildit/
From the Readme, here's the basics:
Buildit makes it easier to create a repeatable deployment of software in a particular configuration. With it, you can perform conditional complilation of source code, install software, run scripts, or perform any repeatable sequence of tasks that ends up creating a known set files on your filesystem. On subsequent runs of the same set of tasks, Buildit performs the least amount of work possible to create the same set of files, only performing the work that it detects has not already been performed by earlier runs. Rationale Buildit was created to allow me to write "buildout" profiles which need to perform arbitrary tasks in the service of setting up a client operating system environment with software and data specific to running applications I helped create. For instance, in one case, it is currently used to build multiple "instances" of Zope, ZEO, Apache/PHP, Squid, Python, and MySQL on a single machine, forming a software "profile" particular to that machine. The same buildout files are rearranged to create different instances of software on different machines at the same site. The same software is used to perform incremental upgrades to existing buildouts. Why Not Make? We had previously been using GNU Make for the same task, but my clients couldn't maintain the makefiles easily after the engagement ended because they were not willing to learn GNU Make's automatic variables and pattern rules which I used somewhat gratuitously to make my life easier. I also realized that even I could barely read the makefiles after I had been away from them for some time. Although make's fundamental behavior is very simple, it has a few problems. Because its basic feature set is so simple, and because it has been proven to need to do some reasonably complex things, many make versions have also accreted features over the years to allow for this complexity. Unfortunately, it was never meant to be a full-blown programming language, and the additions made to make syntax to support complex tasks are fairly mystifying. Additionally, if advanced make features are used within a Makefile, it is difficult to create, debug and maintain makefiles for those with little "make-fu". Even simple failing makefiles can be difficult to debug. Why Not Ant? I a big fan of neither Java nor hand-writing XML. Ant requires I use one and do the other. Why Not SCons? SCons is all about solving problems specific to the domain of source code recompilation. Buildit is much smaller, and more general. Why Not A-A-P? A-A-P was designed from the perspective of someone wanting to develop and install a software package on many different platforms. It does this very well, but loses some generality in the process. A-A-P also uses a make-like syntax for describing tasks, whereas Buildit uses Python. Why not zc.buildout? zc.buildout was released after Buildit was already mature. Additionally, zc.buildout appears to have a focus on Python eggs which Buildit does not.
I hope to be able to release a set of example buildit recipes for building Zope, Postgres, and various other things shortly. EDIT: Those are available now .