Gmane
From: Bryan Blackburn <blb <at> opendarwin.org>
Subject: Autobuild
Newsgroups: gmane.os.opendarwin.darwinports
Date: 2006-04-11 08:18:28 GMT (3 years, 12 weeks, 1 day, 17 hours and 1 minute ago)
The first attempt for doing automated building is now up at <http:// 
www.opendarwin.org/~blb/dpab.tar.bz2>.  First, here's the output  
(some extra noise elided) from a run (until I killed it since I  
wanted to use my machine):

Building DP chroot images, if necessary
Building/installing DP in chroot, if necessary
Building ports
Building libsdl (1 of 3281)...success
Building zlib (2 of 3281)...success
Building libpng (3 of 3281)...success
Building jpeg (4 of 3281)...success
Building libsdl_image (5 of 3281)...success
Building smpeg (6 of 3281)...success
Building libogg (7 of 3281)...success
Building libvorbis (8 of 3281)...success
Building libmikmod (9 of 3281)...success
Building libsdl_mixer (10 of 3281)...success
Building 2Pong (11 of 3281)...success
Building 4th (12 of 3281)...success
Building 9e (13 of 3281)...success
Building 54321 (14 of 3281)...success
Building psutils (15 of 3281)...failure
Building a2ps (16 of 3281)...skipping, psutils previously failed and  
is needed
Building perl5.8 (17 of 3281)...success
Building nkf (18 of 3281)...^C

psutils failed since it needs to run some perl scripts and the chroot  
is built by removing the perl, python, and ruby binaries to detect  
this kind of thing.  If Mac OS X is truly the only target, this could  
probably be changed...but at least psutils only needs a  
"bin:perl:perl5.8" instead of "port:perl5.8".

The set of scripts needs a DP tarball (see the top of the dpab script  
for notes) and the scripts themselves.  dpab is the main one, which  
calls the others as necessary.  When called for the first time, it'll  
build the chroot disk image, a distfiles disk image, then install DP  
into the chroot.  After this, it builds ports in a certain order,  
namely, alphabetically but with dependencies listed earlier.  This  
way, if a dependency fails, it doesn't bother building those  
depending on it (see a2ps above).

When done, it moves all logs to a logs-YYYYMMDD directory and reports  
the count of success and failure.

Now we just need a machine which can be left alone for a while to  
really test it.

Bryan