[Distutils] buildout pinning versions and egg requires

Maurits van Rees m.van.rees at zestsoftware.nl
Thu Jan 13 00:38:15 CET 2011


Op 12-01-11 23:33, Jeff Kunce schreef:
> Hi -
>
> I'm having trouble pinning versions in my buildout.  It looks like
> "requires.txt" for the recipe eggs are overriding what I specify in
> versions.cfg.
>
> Here's the scenario:
>
>    1)  I am pinning my buildout with a versions.cfg file that specifies
>      zope2 = 2.13.0
>    2) One of my parts is based on
>      recipe = plone.recipe.zope2instance
>    3) The plone.recipe.zope2instance egg has a requires.txt file containing
>      Zope2 >= 2.12.1
>
> Here's what happens:
>
> When I run buildout, it looks the recipe eggs are downloaded first,
> along with eggs specified in the requires.txt for each egg.  So,
> buildout gets Zope2 2.13.1 (>=2.12.1) for plone.recipe.zope2instance
> without looking at what I specified for versions.
>
> How can I make sure I only get Zope 2.13.0 ?  An excerpt of my
> buildout.cfg is below.  Thanks.

Looks like you have a typo in the version pin: it should be Zope2 with a 
capital 'Z'.

This small buildout.cfg correctly picks Zope2 2.13.0 when I try it:

[buildout]
parts = instance
versions = versions

[versions]
Zope2 = 2.13.0

[instance]
recipe = plone.recipe.zope2instance

Note that to avoid such problems with uppercase versus lowercase, you 
could use a buildout extension that on the fly turns all version pins to 
lowercase when checking if a package has a pin:

[buildout]
extensions = buildout-versions

It also dumps which versions are picked by buildout instead of being 
pinned by you in buildout.cfg.


-- 
Maurits van Rees
Programmer at Zest Software http://zestsoftware.nl
Personal website http://maurits.vanrees.org/



More information about the Distutils-SIG mailing list