[Distutils] Proposal for incorporating buildout-versions on buildout (Re: Better version pinning in buildout (buildout-versions))

Chris Withers chris at python.org
Tue Jan 15 07:23:26 CET 2013

On 12/01/2013 16:18, Jim Fulton wrote:
> On Sat, Jan 5, 2013 at 5:47 PM, Jim Fulton<jim at zope.com>  wrote:
> ...
>> I propose that buildout-versions get incorporated into
>> buildout in the following way:
> OK, proposal 1 wasn't accepted.  Here's another stab:
> Proposal 2
> ----------
> 1. The ``allow-picked-versions`` option gets a new allowed value of
>     ``show``. if there are unpicked versions and this option is set to
>     ``show``, then picked/unpinned versions are reported in a way
>     suitable for copying into a versions section, presumably with the
>     same format used by buildout-versions today.
> 2. New buildout option: ``update-versions-file``.  This takes a path
>     (relative to buildout directory) of a file to update with any
>     unpinned versions (in a manner roughly the same as
>     buildout-versions does today).
> 3. New buildout option: ``python-version`` that restricts the Python
>     version, with the same semantics as buildout-version provides now.


> 4. Change: develop eggs found in the buildout's develop-eggs directory
>     will be used even if their version conflicts with a pinned version.

This is the current behaviour you get with buildout-versions and it 
makes me a little nervous but I've never had the will to fight it and it 
is useful... But, most packages being developed do have a version in 
their setup.py (as an aside, what does buildout do with non-develop 
packages that don't specify a version?) and so it feels like the 
semantics would be cleaner if we just made everything work the same way 
when it came to versions.

> 5. In buildout 2, The default value of the versions option will be
>     "versions", rather than being unset. This will allow users to
>     omit::
>        version = versions
>     from their buildout section.
> 6. To make it a little easier to supply buildout versions on the
>     command line, make buildout the default section for command-line
>     options, so::
>        update-versions-file=versions.cfg
>     or::
>        allow-picked-versions=show
>     would be allowed. (They are rejected now.)



Simplistix - Content Management, Batch Processing & Python Consulting
             - http://www.simplistix.co.uk

More information about the Distutils-SIG mailing list