Go to file
Tomáš Hrnčiar 65ab1b123f Require expat >= 2.6 to prevent errors when creating venvs with older expat
The code in CPython uses XML_SetReparseDeferralEnabled when expat is >= 2.6 during the build.
However, when users upgrade Python independently on the expat package,
they may have expat 2.5 installed and see errors like:

    $ python3.1X -m venv venv
    Error: Command '['venv/bin/python3.1X', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

    $ venv/bin/python3.1X -m ensurepip --upgrade --default-pip
    Traceback (most recent call last):
      ...
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/commands/install.py", line 15, in <module>
        from pip._internal.cli.req_command import (
        ...<3 lines>...
        )
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/cli/req_command.py", line 21, in <module>
        from pip._internal.index.package_finder import PackageFinder
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/index/package_finder.py", line 30, in <module>
        from pip._internal.req import InstallRequirement
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/req/__init__.py", line 8, in <module>
        from .req_install import InstallRequirement
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/req/req_install.py", line 40, in <module>
        from pip._internal.operations.install.wheel import install_wheel
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_internal/operations/install/wheel.py", line 39, in <module>
        from pip._vendor.distlib.scripts import ScriptMaker
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_vendor/distlib/scripts.py", line 16, in <module>
        from .compat import sysconfig, detect_encoding, ZipFile
      File "/tmp/.../pip-24.0-py3-none-any.whl/pip/_vendor/distlib/compat.py", line 81, in <module>
        import xmlrpc.client as xmlrpclib
      File "/usr/lib64/python3.1X/xmlrpc/client.py", line 138, in <module>
        from xml.parsers import expat
      File "/usr/lib64/python3.1X/xml/parsers/expat.py", line 4, in <module>
        from pyexpat import *
    ImportError: /usr/lib64/python3.1X/lib-dynload/pyexpat.cpython-31X-x86_64-linux-gnu.so: undefined symbol: XML_SetReparseDeferralEnabled
    Traceback (most recent call last):
      ...
    subprocess.CalledProcessError: Command '['venv/bin/python3.1X', '-W', 'ignore::DeprecationWarning', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/tmp/.../pip-24.0-py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\', \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/tmp/...\', \'--upgrade\', \'pip\']\nrunpy.run_module("pip", run_name="__main__", alter_sys=True)\n']' returned non-zero exit status 1.

Thanks to Markus Falb for discovering this problem.

https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/7XHGWHBQDNFKNGSZTP44SSD6PQKZPG6C/
2024-07-04 14:52:19 +02:00
tests CI: Remove tox+virtualenv tests until they are available in EPEL 10 2024-05-07 17:14:22 +02:00
.gitignore Ignore stuff 2017-12-01 13:57:42 +01:00
00251-change-user-install-location.patch Update to 3.12.4 2024-07-04 10:48:19 +02:00
00329-fips.patch Enable importing of hash-based .pyc files under FIPS mode 2024-06-11 21:43:32 +02:00
00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-gh-28549-gh-28589.patch Update to 3.12.3 2024-07-03 21:06:43 +02:00
00397-tarfile-filter.patch Update to 3.12.4 2024-07-04 10:48:19 +02:00
00415-cve-2023-27043-gh-102988-reject-malformed-addresses-in-email-parseaddr-111116.patch Update to 3.12.4 2024-07-04 10:48:19 +02:00
check-pyc-timestamps.py Update to 3.12.1 2023-12-08 14:38:32 +01:00
gating.yaml Add RHEL gating configuration 2024-05-07 17:15:35 +02:00
idle3.appdata.xml Add AppData and desktop file for IDLE 3 (rhbz#1392049) 2017-02-28 14:33:44 +01:00
idle3.desktop Add AppData and desktop file for IDLE 3 (rhbz#1392049) 2017-02-28 14:33:44 +01:00
python3.12.spec Require expat >= 2.6 to prevent errors when creating venvs with older expat 2024-07-04 14:52:19 +02:00
rpminspect.yaml rpminspect: Explicitly list allowed badfuncs in the _socket module 2022-09-05 17:32:25 +00:00
rpmlint.toml rpmlint: Remove a superfluous space in one of the filters 2022-09-05 11:20:40 +02:00
sources Update to 3.12.4 2024-07-04 10:48:19 +02:00
Yhg1s.gpg Initial Python 3.12 package forked from Python 3.11 2022-10-27 17:41:21 +02:00