
On Tue, Oct 13, 2009 at 9:02 PM, Jim Fulton <jim@zope.com> wrote:
I plan to add explicit buildout support for distribute. Here's a sketch. Basically it boils down to satisfying requirements for setuptools with distribute whenever distribute is in buildout's working set. So, when installing a package that requires setuptools, it will convert that requirement to a requirement for distribute. There will be 2 separate bootstrap scripts, one that uses distribute and one that uses setuptools. There will also be a buildout configuration option that will allow a buildout configuration author to fix which is used. Probably:
use-distribute = true
This will only serve as a check that the right bootstrap was used.
Notice that the current trunk of Distribute is now changing any 'setuptools' requirement that is tiggered using "Requirement.parse" and "resolve" APIs into a 'distribute' one. Meaning that changes on zc.buildout side shouldn't be important as we don't require any monkey-patch anymore. So basically it would consist of picking the right bootstrap file URL for the "use_setuptools" call. Our bootstrap works as expected (besides a few things we need to iron out with Reinout) with the current Distribute trunk : http://bitbucket.org/tarek/buildout-distribute/src/tip/bootstrap_dev.py You can get it and run it at: http://nighty.ziade.org/bootstrap_dev.py It'll get the latest distribute we are working on. So I would propose changing bootstrap.py itself to choose between peak's ez_setup.py or our distribute_setup.py file with the option you've mentioned, and through the shell: $ python bootstrap.py --use-distribute I can't think of any other changed required in zc.buildout itself besides this. Tarek