On Jul 29, 2008, at 10:39 AM, whit morriss wrote:
whit morriss wrote:
I'm perhaps running buildout in a bit of unusual fashion (from my
virtual env bin rather than the builds bin) and updated it recently
from 1.0.2 to 1.1.0 to debug some issue folks were having with
fresh checkouts of one of my builds (see previous message).
as a caveat for others, we also noticed a number of older recipes
which are cached don't take the new allowed hosts arg. It looks
like older copies (in this case zc.recipe.egg) got installed in the
virtualenv sitepackages (probably for the purposes of investigation)
or egg caches and did not get updated.
This sounds like a bug. I expect buildout to get and use the newest
distributions that satisfy its requirements regardless of whether
older versions are in site-packages. One way that this would fail is
if eggs are installed into site-packages as develop eggs, aka "single-
version-externally-managed". buildout gives preference to develop
eggs even if there are newer non-develop eggs. Distributions installed
using -single-version-externally-managed are tagged by setuptools as
develop eggs. I really wish setuptools made a distinction between
single-version-externally-managed and develop eggs.
Was the zc.recipe.egg distribution installed into your site- packages
using -single-version-externally-managed? (This will be the case if
the egg contents are stored directly in site-packages rather than
having egg files or directories.)
In systems like buildout where every buildout is necessarily a patch
work of called dependencies (most frameworks or component systems
are like this in one way or another, sometimes referred as what
separates frameworks from libs), it would be useful to have some
mechanism for propagate an update of a downstream component.
By "downstream", do you mean a dependency?
Does setuptool support anything like this (I'm doubting it?)?
could or does zc.buildout?
for builds, I could see this being handled more as a migration.
Update the framework library, run a migration to upgrade all the
component libraries, rebuild.
As a general rule, buildout always tries to find the latest versions
of all distributions used, including dependencies. One exception to
this is that it prefers develop eggs.
Jim
--
Jim Fulton
Zope Corporation
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig