• Kirill Smelkov's avatar
    component/ZODB: Fix test-zodb4-wc2 build (1) · 33dcff08
    Kirill Smelkov authored
    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
    33dcff08
test-zodb4-wc2.cfg 3.1 KB