MacPorts AutoBuild

Jordan K. Hubbard jkh at apple.com
Fri Jun 20 15:50:43 PDT 2008


On Jun 20, 2008, at 2:07 PM, Bryan Blackburn wrote:

> While what I've written does have some of it early lineage from your
> buildall.sh script, it's definitely changed a bit.  The good news is
> that of the 150+ or so ports I had MPAB try to build here, a vast
> majority of them built successfully.  The failures were all
> explainable at the MacPorts level, not MPAB (eg missing distfiles, a
> perl module needing 'port -f install', and so on).

That's excellent - it sounds like you've definitely made much more  
progress!

> MPAB currently builds the list of ports to attempt by sorting them by
> dependency: the early ones it builds are dependencies of later ones.
> The reason for this is that if Y depends on X and X failed, it'll
> simply skip Y.  Also, of course, if X did build successfully, all
> other ports depending on it will simply cause X do install from the
> portarchive instead of rebuilding again.  If you extract the MPAB
> tarball, the chroot-scripts/genportlist.tcl is the script which builds
> this initial list.

Does it also support picking up where it left off, or is it an  
assumption that once you've generated this initial list of ports,  
you're committed to trying to build the whole thing from beginning to  
end?   The latter scenario is fine, I'm just wondering if there's  
currently any bookkeeping associated with which ports on that list  
have been tried and which still need to be built.  If there were, it  
would obviously make it easier for volunteer builders to start and  
stop batch builds in order to take advantage of slack time on  
"borrowed" hardware at ${theirInstitution} and
we could also discuss the notion of "jobbing out" builds to remote  
builders as the next logical enhancement.

I know, I know, I want everything. :-)

> It's a chroot, so other than the initial building of the chroot, the
> host machine's files should be left alone.  Of course, the bad thing
> is chroot needs root to run...

Well, until we figure out some way of simulating chroot with some  
future "trace mode on steroids" I don't see any easy way around this,  
so I'm just happy you're at least using a chroot! :)

> The biggest issue here is breaking out of the chroot, otherwise if
> something malicious happens then all future build attempts would most
> likely fail quite spectacularly.

It's hard enough to break out of a chroot that I'm pretty comfortable  
with the level of security this represents.  It's the trace-mode-on- 
steroids approach that's a bit more difficult to get right, and I  
wasn't sure if you had gone that route or not.

Where does one check out the current state of MPAB goodness so far  
again?  I must have missed that somewhere in this discussion chain.   
I've got some unused hardware I wouldn't mind throwing at testing this  
for awhile...

Thanks!

- Jordan



More information about the macports-dev mailing list