Commit 33dcff08 authored by Kirill Smelkov's avatar Kirill Smelkov

component/ZODB: Fix test-zodb4-wc2 build (1)

Since c170fe3e (ZODB: Provide ZODB4-wc2 which backports MVCC approach from
ZODB5) we have a custom version of ZODB4 with backports from ZODB5 so that
wendelin.core can work in environments where we still use ZODB4.

In 2022 this test got broken after SlapOS transitioned to use python3 by
default and fixed in 5cb11e9e (component/ZODB: keep running the test on
python3). Then fixed in 2024 again in e742508b (! component/openssl: add
OpenSSL-3.0.13, still using OpenSSL-1.1 for python 2.).

However as of today building this test fails with

    slapos.rebootstrap:
    ************ REBOOTSTRAP: IMPORTANT NOTICE ************
    bin/buildout is being reinstalled right now, as new python:
      /srv/slapgrid/slappart5/srv/runner/shared/python2.7/b8880e7ab7f4124a466ecb817efb447c/bin/python2.7
    is available, and buildout is using another python:
      /opt/slapos/parts/python3/bin/python3
    Buildout will be restarted automatically to have this change applied.
    ************ REBOOTSTRAP: IMPORTANT NOTICE ************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/zc.buildout-3.0.1+slapos009-py3.7.egg/zc/__init__.py", line 1, in <module>
        __import__('pkg_resources').declare_namespace(__name__)
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/setuptools-67.8.0-py3.7.egg/pkg_resources/__init__.py", line 1423
        local = f"sanitized.{_safe_segment(rest)}".strip(".")
                                                 ^
    SyntaxError: invalid syntax
    While:
      Installing.

    An internal error occurred due to a bug in either zc.buildout or in a
    recipe being used:
    Traceback (most recent call last):
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/zc.buildout-3.0.1+slapos009-py3.7.egg/zc/buildout/buildout.py", line 2664, in main
        getattr(buildout, command)(args)
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/zc.buildout-3.0.1+slapos009-py3.7.egg/zc/buildout/buildout.py", line 855, in install
        self._install_parts(install_args)
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/zc.buildout-3.0.1+slapos009-py3.7.egg/zc/buildout/buildout.py", line 870, in _install_parts
        self._setup_directories()
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/slapos.rebootstrap-4.7-py3.7.egg/slapos/rebootstrap/__init__.py", line 58, in wrapper
        return getattr(self, attr)(*args, **kw)
      File "/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/slapos.rebootstrap-4.7-py3.7.egg/slapos/rebootstrap/__init__.py", line 108, in _setup_directories
        "zc.buildout.buildout.main()" % (paths, args + ['bootstrap'])])
      File "/opt/slapos/parts/python3/lib/python3.7/subprocess.py", line 363, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['/srv/slapgrid/slappart5/srv/runner/shared/python2.7/b8880e7ab7f4124a466ecb817efb447c/bin/python2.7', '-c', "import sys ; sys.path[0:0]=['/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/slapos.libnetworkcache-0.25-py3.7.egg', '/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/zc.buildout-3.0.1+slapos009-py3.7.egg', '/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/setuptools-67.8.0-py3.7.egg', '/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/wheel-0.41.2-py3.7.egg', '/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066/eggs/pip-23.2.1-py3.7.egg'] ; import zc.buildout.buildout ; sys.argv[1:1]=['buildout:extends-cache=/tmp/tmpdx2upamb', 'buildout:directory=/srv/slapgrid/slappart5/srv/runner/software/04a9ddca848c1bb62254aab83f212066', 'bootstrap'] ; zc.buildout.buildout.main()"]' returned non-zero exit status 1.

The problem here is that even though we use py2 for the software, the used
version of setuptools is py3 only and so it breaks.

This problem was already cared in f5b80301 (Downgrade pip, wheel and setuptools
in python2 SRs), but that commit missed to update test-zodb4-wc2.cfg .

-> Fix that.

After this patch the build of component/ZODB/test-zodb4-wc2.cfg becomes
recovered in the sense that it passes further than rebootstrap, but breaks at
the build of persistent / BTrees eggs. We will fix this in the next patch.

/cc @xavier_thompson
/reviewed-by @jerome, @kazuhiko, @levin.zimmermann
/reviewed-on !1752
parent f681d36a
......@@ -8,6 +8,7 @@ extends =
../pygolang/buildout.cfg
buildout.cfg
../ZEO/buildout.cfg
../../stack/slapos-py2.cfg
parts =
ZODB
......@@ -22,11 +23,6 @@ parts =
major = 4-wc2
[ZODB4-wc2-repository]
revision =
[python]
part = python2.7
[openssl]
<= openssl-1.1
# we need persistent to be a git checkout because persistent tests want to
# discover in-tree files that are not present in persistent egg when it is
......
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