[Distutils] Better version pinning in buildout (buildout-versions)

Maurits van Rees m.van.rees at zestsoftware.nl
Tue Jan 8 12:42:58 CET 2013

Op 08-01-13 02:58, Sebastien Douche schreef:
> On Sat, Jan 5, 2013 at 11:47 PM, Jim Fulton <jim at zope.com> wrote:
>> 3. The ``allow-picked-versions`` option gets a new allowed value of
>>     ``warn``. if there are unpicked versions and this option is set to
>>     ``warn``, then picked/unpinned versions are reported.  Also, if
>>     ``allow-picked-versions`` is true, there will be no error if
>>     ``update-versions-file`` is true.
> When I code I want new version of our packages (sact.*) but not the
> vendor packages. A pattern of list would be very useful (ex:
> allow-picked-versions = sact.*)

If the vendor packages are pinned, buildout will not pick new versions 
for the vendor packages.  If no packages are pinned yet, I would say: 
run buildout once with allow-picked-versions is warn, copy the reported 
picked versions and remove the sact.* ones.

>> 4. New buildout option: ``python-version`` that restricts the Python
>>     version, with the same semantics as buildout-version provides now.
> Don't see the point, Buildout launch the Python version used by the
> bootstrap process.

It may not always be obvious which python version should be used.  I 
have projects that must be run with python 2.4, projects with python 2.7 
and everything in between.

If I use 2.6 for a buildout, and a colleague, or the server, uses 2.4 
they may get SyntaxErrors or run into other problems.  Those problems 
may not surface when running the buildout but only start popping up when 
running the application.

Other example: I have some add-ons for Plone that I want to test on 
Plone 3 (requiring python 2.4) and Plone 4 (requiring python 2.6, 
allowing python 2.7 since Plone 4.2).  If I change the buildout to use a 
different Plone version requiring a different Python version, it would 
safe me trouble if buildout would complain that it was being run with 
the wrong version.

Maurits van Rees: http://maurits.vanrees.org/
Zest Software: http://zestsoftware.nl

More information about the Distutils-SIG mailing list