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

Reply via email to