[Distutils] zc.buildout 'extends' options

Martin Aspeli optilude+lists at gmail.com
Sat Jan 17 12:56:08 CET 2009

Hi Jim & co,

Plone 3.2 currently distributes its packages as eggs, and people use an 
'extends' option with a remote URL to get a known good set for each 
version, e.g.:

  extends = http://dist.plone.org/release/3.2/versions.cfg

This is similar to how Grok does its distributions, of course.

Now, as far as I can tell, this doesn't work offline. -o mode does not 
complain, but if you're totally offline (turn off your network 
interface), then urllib throws an error when buildout tries to evaluate 
the 'extends' option, and buildout crashes completely.

I'd like to have an optional download cache directory, e.g.

  extends-cache = extends-cache-directory
  extends = http://dist.plone.org/release/3.2/versions.cfg

In offline mode, buildout would look for the file to extend (probably 
with some hash of the url used as filename) in the directory specified 
by extends-cache.

This would allow full offline mode (e.g. on a machine with no network 
card configured). In particular, it would allow Plone's buildout-based 
installers to ship with the versions.cfg file and not require people to 
be able to download them.

Is this desirable? Any plans for such a feature? Would you accept a 
patch, if we could make it work?

Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

More information about the Distutils-SIG mailing list