arvindKandpal-ksolves opened a new pull request, #127:
URL: https://github.com/apache/cassandra-builds/pull/127
### Motivation and Context
To support Python 3.12 and 3.13 for `cqlsh` testing (CASSANDRA-20997), the
base testing docker image (`ubuntu2004_j11.docker`) needed an upgrade to Ubuntu
22.04 (Jammy). However, upgrading to Jammy completely broke the legacy Python
3.6 build due to incompatibilities with modern toolchains (OpenSSL 3.0 and
Glibc 2.35). Additionally, modern versions of `pip` and `setuptools` break the
legacy `cassandra-driver` and `ccm` dependency installations.
This PR upgrades the image while surgically retaining full support for all
older Python environments (including 3.6) so that we don't have to split the
testing images between `trunk` and `cassandra-5.0`.
### Description of Changes
* **Base OS Upgrade:** Upgraded base image from `ubuntu:20.04` to
`ubuntu:22.04`.
* **Python 3.6 Blockers Resolved:** * Installed `gcc-9` and compiled
`OpenSSL 1.1.1w` from source to bypass Jammy's OpenSSL 3.0 clash.
* Applied a `sed` patch to `Modules/faulthandler.c` to hardcode
`SIGSTKSZ`, fixing the Glibc 2.35 compilation error.
* **Python 3.12 & 3.13 Support Added:** Added modern environments while
bypassing the removed `distutils` library.
* **Dependency Matrix Locked:** * Pinned `"pip<25.0"` and
`"setuptools==60.8.2"` across 3.11+ environments to maintain compatibility with
legacy editable installs (`setup.py develop`) and `ccm` flat-layout structures.
* Injected a dummy `pkgutil.ImpImporter` via a surgical `sed` patch to fix
`setuptools` internal crashes on Python 3.12+ (where the `imp` module is
entirely removed).
### Testing
* Successfully built the docker image locally.
* Verified that all virtual environments (`env2.7` through `env3.13`)
initialize successfully without hanging.
* Verified that all dependencies, including `cassandra-driver` (via git
clone) and `ccm`, install and compile successfully across all environments.
patch by Arvind Kandpal; for CASSANDRA-20997
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]