Re: zope-tests - FAILED: 119, OK: 8

Maurits van Rees <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Organization Zest Software
Message-ID <[email protected]>
Marius Gedminas schreef op 17-12-14 10:14:
> The variety of errors has decreased somewhat.  Most of the builds
> fail with
>
>    Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,==1.3.0,>1.3.0'.

I wondered about this one.  Grepping in my eggs directory in 
*/EGG-INFO/requires.txt for zc.recipe.egg I only find
z3c.recipe.scripts 1.0.1 that has 'zc.recipe.egg >=1.3.0'.

I wonder if somehow this wrongly gets split into the contradicting 
'==1.3.0,>1.3.0'.

Trying it locally for such a failing build (zope.traversing before I 
pinned setuptools), I see that zc.buildout 1.7.1 is used, which has this 
in buildout.py:

         self.versions = {
             'zc.recipe.egg': '<2dev',
             'zc.recipe.testrunner': '<2dev',
             }

So that is where the '<2dev' comes from.

zc/buildout/easy_install.py then has an install method, which combines 
the version restriction with the requirement in this call:

_constrained_requirement_constraint(
     '<2dev', Requirement.parse('zc.recipe.egg>=1.3.0'))

The result of that call is:

'<2dev,>1.3.0,==1.3.0'

This is silly but it works fine for setuptools before version 8.  With 
setuptools 8 it fails to find any distributions that match this specifier.

This stuff was fixed in zc.buildout 2.3.0 with this commit:
https://github.com/buildout/buildout/commit/dc32780e7320caed5baf87e2068f693b58125572

BTW, note that pinning zc.recipe.egg in a buildout config would help 
here.  _constrained_requirement_constraint('==1.3.2', requirement) has 
as result '==1.3.2'.

I also wondered why zc.buildout was not getting upgraded.  Of course 
first the current bootstrap.py gets zc.buildout<2dev, so you get 
zc.buildout 1.7.1.  Then when running buildout it calls _maybe_upgrade 
and this has a check to prevent upgrading to 2.x unless a specific 
version is requested.

So: some puzzles (for me at least) solved.

Going forward, it would be nice to either backport the mentioned commit 
to zc.buildout 1.x (not going to happen I guess) or have an updated 
bootstrap.py for 1.x that restricts setuptools<8dev.

But as said earlier, for projects that do not require zc.buildout 1.x, 
the latest bootstrap from https://bootstrap.pypa.io should be fine.


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

_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.