[Distutils] [buildout] RFC: buildout support for distribute

Tarek Ziadé ziade.tarek at gmail.com
Tue Oct 13 21:25:03 CEST 2009


On Tue, Oct 13, 2009 at 9:02 PM, Jim Fulton <jim at 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


More information about the Distutils-SIG mailing list