[Product-Developers] Carping about buildout again (eXtreme Management Tool this time)

Jean Jordaan jean.jordaan at gmail.com
Wed Aug 6 08:27:36 UTC 2008


Hi there

If you don't feel like reading a bit of a rant, please skip this.

Also, please don't take the curmudgeonly tone amiss. I appreciate XTM
very much. I'm just being a squeaky wheel so that in future it may get
even more happy users.

A while ago I griped about the experience of installing via buildout:
http://www.openplans.org/projects/deliverance/lists/deliverance-discussion/archive/2008/07/1216293014124/forum_view

I just had a similar experience with the eggified eXtreme Management Tool.
As usual, I just grab the download from the Plone product page. Then I
unpack it.
- This is a clean Python install, so I can't just run setup.py, I have
to ez_setup.py first. OK, do that, it installs to
~/zope/Python-2.4.5/site-packages and jams something into a .pth file.
- Now I run '~/zope/Python-2.4.5/bin/python setup.py install' and it
spews a ton of noise, obscuring the fact that:
  (a) it's installing into ~/zope/Python-2.4.5/site-packages instead
of into my Zope instance, and
  (b) it's haring off to pypi.python.org to download two dependencies
not mentioned on the Plone product page.
- It also jams more stuff into easy-install.pth

Things I don't like:
- there's no reason for the whole byte-compiling and
working-directory-copying dance, much less making me watch it. It's
just Python code that could just be copied once into the proper place.
(Yes, this is a setuptools issue and XMT probably can't help it.)
- I don't want to unexpectedly discover that my download misses bits
that I need internet access to get at. Also, before finding pypi,
setuptools consults plone.org .. so two remote servers have to be up
for things to work, when the dependencies could simply have been
bundled.
- What's the point of having a defined way for Python to find imports
if you're just going to enumerate all the places to look in a .pth
file? (I realise I'm fighting the tide here.) Next I want to rejigger
things so that the install goes to my instance, so that I can decide
on a per-instance basis whether I want the XMT installed, and I'll
have to hack the .pth file to take out the site-packages paths.

I don't like the "Best match: xm.booking 0.5.2" lines, which tell me
that if I install Products.eXtremeManagement-1.6.tar.gz and little
Johnny installs Products.eXtremeManagement-1.6.tar.gz I may end up
with a different setup than Johnny (if he got "Best match: xm.booking
0.5.3"). Ditto if I setup server A today and server B tomorrow, I may
have different bits. Products as distributed should install the same
every time.

And then, last but not least, I get told:

Searching for setuptools==0.6c8
Best match: setuptools 0.6c8
Processing setuptools-0.6c8-py2.4.egg
setuptools 0.6c8 is already the active version in easy-install.pth
Installing easy_install script to /home/jean/zope/Python-2.4.5/bin
Installing easy_install-2.4 script to /home/jean/zope/Python-2.4.5/bin

I just installed it, of course it's there and active. And then it goes
even further and apparently reinstalls it. This is just noise,
obscuring useful information and doing unnecessary work.

Phew, that feels better ..
-- 
jean                           . .. .... //\\\oo///\\




More information about the Product-Developers mailing list