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

Alex Clark aclark at aclark.net
Sat Jan 12 21:42:48 CET 2013

On 2013-01-12 16:18:36 +0000, Jim Fulton said:

> 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.

So the possible values becomes: true, false, show (which is true & verbose)

> 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.

Did somebody ask for this? I tend to think of develop eggs as "real" 
eggs. So if I want to resolve a conflict I'll just edit the develop-egg 
(presumably by changing the version of the develop egg in the case of a 
non-develop-egg that requires a particular version of a develop egg.)

> 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.)

So that means I can pass in foo=bar and it will be applied to the 
buildout section? How about allowing parameter/values to be applied to 
any section and defaulting to buildout? E.g.:

    $ buildout buildout:update-versions-file=versions.cfg

Is this same as:

    $ buildout update-versions-file=versions.cfg

But I can also do:

    $ buildout foo:bar=baz

To set parameter 'bar' with value 'baz' in section 'foo'. In any event, 
proposal 2 sounds "close enough" to me so: +1.

> Thoughts?
> Jim

Alex Clark · https://www.gittip.com/aclark4life/

More information about the Distutils-SIG mailing list