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

Sebastien Douche sdouche at gmail.com
Tue Jan 8 02:58:04 CET 2013


On Sat, Jan 5, 2013 at 11:47 PM, Jim Fulton <jim at zope.com> wrote:

Hi Jim

> Based on this, I propose that buildout-versions get incorporated into
> buildout in the following way:

Cool.

> 1. New buildout option named ``versions-file`` which takes the name of
>    a file. to contain version information.

Multi version files will be a great improvement. Currently It's a pain
to configure more than one KGS (I mix find-links and pinning to do
that):

[buildout]
index = http://pypi.rd.securactive.lan/
find-links = http://release.rd.securactive.lan/vendor/1.0/links.html
extends = nova-versions.cfg
versions = nova_versions

To summarize:
- pypi.rd.s.lan list our packages.
- find-links point on vendor KGS site (list of vendor packages with
the right versions, no needing pinning).
- we use pinning only for our packages

It works but it's not ideal (must use zope.kgs). I would something like that:

index = http://pypi.rd.securactive.lan/   (fallback to the PyPI, cf
PyPiServer[1])
extends = http://release.rd.securactive.lan/vendor/1.0/vendor-versions.cfg
                http://release.rd.securactive.lan/nova/1.4/nova-versions.cfg

versions = vendor_versions
                nova_versions

[1] http://pypi.python.org/pypi/pypiserver/

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

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



--
Sebastien Douche <sdouche at gmail.com>
Twitter: @sdouche / G+: +sdouche


More information about the Distutils-SIG mailing list