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
Showing
Please register or sign in to comment