[Distutils] change in setuptools 8.0

Jim Fulton jim at zope.com
Tue Dec 16 11:55:58 CET 2014


On Mon, Dec 15, 2014 at 7:05 PM, Maurits van Rees
<m.van.rees at zestsoftware.nl> wrote:
> Jim Fulton schreef op 15-12-14 19:15:
>>
>> Buildout doesn't try to merge dependency requirements from different
>> packages.
>> It just installs packages and their dependencies and builds up a working
>> set.
>>
>> It does merge constraints from the versions section (if any) with
>> whatever requirement
>> it's working on at any point in time.
>>
>> I'm guessing that the requirement: zc.buildout==2.2.5,>=1.5.0
>> is coming from a setup spec or from some buildout section.  It was a
>> valid spec once
>> but isn't any more.
>
>
> Let's try a buildout with Plone.  This one goes fine (except for possible
> warnings about legacy versions):
>
> $ curl -O https://bootstrap.pypa.io/bootstrap-buildout.py
> $ cat buildout.cfg
> [buildout]
> extends = http://dist.plone.org/release/4.3-latest/versions.cfg
> versions = versions
> parts = instance
>
> [versions]
> # Override version pins that are in the file of the extends line.
> zc.buildout = 2.3.0
> setuptools = 8.0.4
>
> [instance]
> recipe = plone.recipe.zope2instance
> user = admin:admin
> http-address = 8080
> eggs =
>     Plone
>
> $ python bootstrap-buildout.py
> $ bin/buildout
>
> All is well.
>
> Now edit buildout.cfg and add this line in the [buildout] section:
>
>   allow-picked-versions = false
>
> $ bin/buildout
> ...
> While:
>   Installing.
>   Getting section instance.
>   Initializing section instance.
>   Installing recipe plone.recipe.zope2instance.
>   Getting distribution for 'ZODB3==3.10.5,>=3.9'.
> Error: Picked: ZODB3 = 3.10.5
>
> Somehow a problem appears because the buildout config pins ZODB3 to 3.10.5,
> and buildout installs plone.recipe.zope2instance which requires 'ZODB3 >=
> 3.9'.  (I wonder if this behaviour is specific for recipes, but I guess
> not.)
>
> Now revert the change, and instead add this line in the [buildout] section:
>
>   show-picked-versions = true
>
> $ bin/buildout
> ...
> Versions had to be automatically picked.
> The following part definition lists the versions picked:
> [versions]
> AccessControl = 3.0.8
> Markdown = 2.0.3
> Products.ATContentTypes = 2.1.14
> Products.OFSP = 2.13.2
> Products.PlonePAS = 4.1.4
> ZODB3 = 3.10.5
> Zope2 = 2.13.22
> archetypes.schemaextender = 2.1.4
> collective.z3cform.datetimewidget = 1.2.6
> diazo = 1.0.6
> lxml = 2.3.6
> mechanize = 0.2.5
> plone.app.contentmenu = 2.0.10
> plone.app.imaging = 1.0.11
> plone.app.jquery = 1.7.2
> plone.app.linkintegrity = 1.5.5
> plone.app.registry = 1.2.3
> plone.app.z3cform = 0.7.7
> plone.autoform = 1.6.1
> plone.behavior = 1.0.2
> plone.browserlayer = 2.1.3
> plone.dexterity = 2.2.4
> plone.keyring = 2.0.1
> plone.namedfile = 2.0.7
> plone.registry = 1.0.2
> plone.resource = 1.0.3
> plone.scale = 1.3.4
> plone.schemaeditor = 1.3.8
> plone.supermodel = 1.2.6
> plone.z3cform = 0.8.0
> python-gettext = 1.2
> python-openid = 2.2.5
> repoze.xmliter = 0.5
> transaction = 1.1.1
> z3c.form = 3.2.1
> zope.app.locales = 3.6.2
> zope.tales = 3.5.3
>
> All these versions are definitely pinned in the file we extend (or in files
> that this file extends):
> http://dist.plone.org/release/4.3-latest/versions.cfg
>
> So: strange behaviour.

I'm not sure how this relates to what you reported before, but this is
a known bug that I think I introduced on Sunday. I'm about to work on a fix.

Jim


-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton


More information about the Distutils-SIG mailing list