[Zope3-dev] Re: RFC: Known working sets

Philipp von Weitershausen philipp at weitershausen.de
Tue Sep 4 15:49:54 EDT 2007


On 4 Sep 2007, at 16:13 , Jim Fulton wrote:
> How would the "known_working_versions" be used?  You haven't  
> specified that.

You're right, I forgot that. In buildout.cfg, you'd then say:

   [buildout]
   versions = egg:grok==0.11

which would load the grok 0.11 egg before doing anything else,  
inspect its known working versions data and then do the rest of the  
work.

> Presumably this would be something that is overridable. How would  
> this be overridden?

Overridability would work like it does now, a la:

   [buildout]
   versions = egg:grok==0.11, version_overrides

   [version_overrides]
   ZODB3 = 3.9.0

> I'm very much against making setuptools *more* complicated than it  
> already is.

Sounds reasonable.

> Perhaps buildout (and setuptools) should grow a mechanism for being  
> able to override/resolve version conflicts.

That might be enough already. Then we could use meta eggs to express  
working sets and the buildout versions=... mechanism to override  
those versions. It should also be possible to resolve a version  
conflict between, say, the meta egg (the working set) and a  
particular package you're using by letting zc.buildout (or  
setuptools) know which dependencies take precendence, e.g.::

   [buildout]
   version_precedence = MyApp grok Zope

which would mean that MyApp's dependencies take precendence over  
grok's dependencies which again take precendence over the Zope meta  
egg's dependencies.



More information about the Zope3-dev mailing list