[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