Commit f276d26f authored by Kirill Smelkov's avatar Kirill Smelkov

ZEO: Fix ZEO4-wc2 installation, take2

I already fixed ZEO4-wc2 installation once in 97832d95 (ZEO: Fix
ZEO4-wc2 installation). That worked but, as it turned out, not fully:
Even though correct ZEO4-wc2-repository is cloned, and correct ZEO4-wc2
develop-egg is installed, we don't tell buildout which egg-version of
ZEO to use. This leads to the situation when buildout picks up _latest_
ZEO egg, when another egg, which depends on ZEO, is installed.

For example wendelin.core/test-zodb4-wc2 was failing as

    Updating ZEO4-wc2-repository.
    Installing ZEO4-wc2.
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    Installing ZEO.
    Installing zodbtools.
    While:
      Installing zodbtools.
      Base installation request: 'zodbtools'
        Requirement of zodbtools==0.0.0.dev8: dateparser
        Requirement of zodbtools==0.0.0.dev8: six
        Requirement of zodbtools==0.0.0.dev8: pygolang>=0.0.0.dev6
        Requirement of zodbtools==0.0.0.dev8: zope.interface
        Requirement of zodbtools==0.0.0.dev8: zodburi
        Requirement of zodbtools==0.0.0.dev8: ZODB
        Requirement of dateparser: tzlocal
        Requirement of dateparser: regex!=2019.02.19
        Requirement of dateparser: pytz
        Requirement of dateparser: python-dateutil
        Requirement of pygolang>=0.0.0.dev6: Importing
        Requirement of pygolang>=0.0.0.dev6: decorator
        Requirement of pygolang>=0.0.0.dev6: six
        Requirement of pygolang>=0.0.0.dev6: gevent
        Requirement of zope.interface: setuptools
        Requirement of zodburi: ZEO
        Requirement of zodburi: ZConfig
        Requirement of zodburi: ZODB
        Requirement of ZODB: zodbpickle>=0.6.0
        Requirement of ZODB: zope.interface
        Requirement of ZODB: zc.lockfile
        Requirement of ZODB: six
        Requirement of ZODB: transaction>=1.5.0
        Requirement of ZODB: ZConfig
        Requirement of ZODB: BTrees>=4.2.0
        Requirement of ZODB: persistent>=4.2.0
        Requirement of tzlocal: pytz
        Requirement of python-dateutil: six>=1.5
        Requirement of gevent: greenlet>=0.4.17
        Requirement of gevent: setuptools
        Requirement of gevent: zope.interface
        Requirement of gevent: zope.event
        Requirement of ZEO: trollius
        Requirement of ZEO: futures
        Requirement of ZEO: zope.interface
        Requirement of ZEO: zdaemon
        Requirement of ZEO: ZConfig
        Requirement of ZEO: zc.lockfile
        Requirement of ZEO: persistent>=4.1.0
        Requirement of ZEO: transaction>=2.0.3
        Requirement of ZEO: six
        Requirement of ZEO: ZODB>=5.1.1
        Requirement of zodbpickle>=0.6.0: setuptools
        Requirement of zc.lockfile: setuptools
        Requirement of transaction>=1.5.0: zope.interface
        Requirement of BTrees>=4.2.0: zope.interface>=5.0.0
        Requirement of BTrees>=4.2.0: persistent>=4.1.0
        Requirement of persistent>=4.2.0: cffi
        Requirement of persistent>=4.2.0: zope.interface
        Requirement of zope.event: setuptools
      Getting distribution for 'trollius'.
    Error: Picked: trollius = 2.2.1

-> Fix that by specifying which egg-version ZEO4/ZEO4-wc2 should be using.

For the reference for ZODB we already do the same - specify egg-version for all
ZODB5, ZODB4-wc2 and ZODB4:

https://lab.nexedi.com/nexedi/slapos/blob/6765c349/component/ZODB/buildout.cfg#L52-72
parent b8148370
......@@ -48,6 +48,7 @@ recipe = zc.recipe.egg:develop
setup = ${ZEO4-repository:location}
egg = ZEO
egg-versions =
ZEO = 4.3.1
[ZEO4-repository]
recipe = slapos.recipe.build:gitclone
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment