[Setup] buildout behind a firewall

Eric Smith eric at trueblade.com
Wed Oct 15 19:19:50 UTC 2008


I want to set up a plone buildout on a machine that's behind a firewall
and cannot access the Internet. I want to have a local cache (on another
server) of eggs that is used instead of pypi, plone.org, etc. I created a
local pypi "mirror", that has just the packages I want to install.
Actually, it doesn't have Zope yet, and that's the problem. I think Zope
is being downloaded from somewhere else. It's not even asking my local
mirror for the Zope pieces it's dowloading (for example,
Zope-2.10.6-final.tgz).

Unfortunately I can't actually test this on the firewalled machine, I'm
testing it on a (Linux) machine that has a full Internet connection. So
rather than failing, it's just downloading stuff I don't want.

I have tried:
1. ~/.pydistutils.cfg, specifying index_url to point to my server, and
allow_hosts to contain only my server.

2. in [buildout], specify allow-hosts, index, and set use-dependency-links
to false.

3. in [plone], (with plone.recipe.plone) specify find-links

I was hoping that just specifying the ~/.pydistutils.cfg file would work
everywhere, but it looks like that's not the case.

Does anyone know an exhaustive list of places I can configure buildout
and/or setuptools so that it will never try and download from anywhere
except for places I specify?

I'm slowly working my way through things like zope2.url, but I don't want
to try and discover everywhere a URL is configured. For example,
overriding plone.urls looks like it would be very fragile, since I have to
re-specify every URL. I'd much rather be able to say "every time you want
to download something, use this base url (and append the filename) instead
of wherever you were going to download it from".

If it matters, I'm using zc.buildout 1.1.1, plone.recipe.plone 3.1.5.1,
and python 2.4 on a Fedora Core 6 machine.

Thanks for any hints. I'm hoping I'm not the first person with this use case.
Eric.




More information about the Setup mailing list