Accepting request 1273280 from devel:languages:python:Factory
- Update to 3.14.0~a7: - Tools/Demos - gh-132121: Always escape non-printable Unicode characters in pygettext. - gh-131852: msgfmt no longer adds the POT-Creation-Date to generated .mo files for consistency with GNU msgfmt. - Tests - gh-131277: Allow to unset one or more environment variables at once via EnvironmentVarGuard.unset(). Patch by Bénédikt Tran. - gh-131050: test_ssl.test_dh_params is skipped if the underlying TLS library does not support finite-field ephemeral Diffie-Hellman. - Security - gh-131809: Update bundled libexpat to 2.7.1 - gh-131261: Upgrade to libexpat 2.7.0 - gh-121284: Fix bug in the folding of rfc2047 encoded-words when flattening an email message using a modern email policy. Previously when an encoded-word was too long for a line, it would be decoded, split across lines, and re-encoded. But commas and other special characters in the original text could be left unencoded and unquoted. This could theoretically be used to spoof header lines using a carefully constructed encoded-word if the resulting rendered email was transmitted or re-parsed. - Library - gh-132174: Fix function name in error message of _interpreters.run_string. - gh-132171: Fix crash of _interpreters.run_string on string subclasses. OBS-URL: https://build.opensuse.org/request/show/1273280 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=8
This commit is contained in:
@@ -4,9 +4,11 @@
|
||||
Lib/test/test_xml_etree.py | 10 ++++++++++
|
||||
3 files changed, 17 insertions(+)
|
||||
|
||||
--- a/Lib/test/test_pyexpat.py
|
||||
+++ b/Lib/test/test_pyexpat.py
|
||||
@@ -791,6 +791,10 @@ class ReparseDeferralTest(unittest.TestC
|
||||
Index: Python-3.14.0a7/Lib/test/test_pyexpat.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_pyexpat.py 2025-04-12 23:55:25.077318106 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_pyexpat.py 2025-04-12 23:58:03.769944012 +0200
|
||||
@@ -791,6 +791,10 @@
|
||||
self.assertEqual(started, ['doc'])
|
||||
|
||||
def test_reparse_deferral_disabled(self):
|
||||
@@ -17,9 +19,11 @@
|
||||
started = []
|
||||
|
||||
def start_element(name, _):
|
||||
--- a/Lib/test/test_sax.py
|
||||
+++ b/Lib/test/test_sax.py
|
||||
@@ -1241,6 +1241,9 @@ class ExpatReaderTest(XmlTestBase):
|
||||
Index: Python-3.14.0a7/Lib/test/test_sax.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_sax.py 2025-04-12 23:55:25.131274628 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_sax.py 2025-04-12 23:58:03.770532570 +0200
|
||||
@@ -1241,6 +1241,9 @@
|
||||
|
||||
self.assertEqual(result.getvalue(), start + b"<doc></doc>")
|
||||
|
||||
@@ -29,11 +33,13 @@
|
||||
def test_flush_reparse_deferral_disabled(self):
|
||||
result = BytesIO()
|
||||
xmlgen = XMLGenerator(result)
|
||||
--- a/Lib/test/test_xml_etree.py
|
||||
+++ b/Lib/test/test_xml_etree.py
|
||||
@@ -121,6 +121,11 @@ ATTLIST_XML = """\
|
||||
</foo>
|
||||
"""
|
||||
Index: Python-3.14.0a7/Lib/test/test_xml_etree.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_xml_etree.py 2025-04-12 23:55:25.550207629 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_xml_etree.py 2025-04-12 23:58:03.771265630 +0200
|
||||
@@ -138,6 +138,11 @@
|
||||
return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq)
|
||||
|
||||
|
||||
+IS_SLE_15_7 = os.environ.get("SLE_VERSION", "") == "0150700"
|
||||
+fails_with_expat_2_6_0 = (unittest.expectedFailure
|
||||
@@ -43,7 +49,7 @@
|
||||
def checkwarnings(*filters, quiet=False):
|
||||
def decorator(test):
|
||||
def newtest(*args, **kwargs):
|
||||
@@ -1504,9 +1509,11 @@ class XMLPullParserTest(unittest.TestCas
|
||||
@@ -1521,9 +1526,11 @@
|
||||
self.assert_event_tags(parser, [('end', 'root')])
|
||||
self.assertIsNone(parser.close())
|
||||
|
||||
@@ -55,7 +61,7 @@
|
||||
def test_simple_xml_chunk_5(self):
|
||||
self.test_simple_xml(chunk_size=5, flush=True)
|
||||
|
||||
@@ -1731,6 +1738,9 @@ class XMLPullParserTest(unittest.TestCas
|
||||
@@ -1748,6 +1755,9 @@
|
||||
|
||||
self.assert_event_tags(parser, [('end', 'doc')])
|
||||
|
||||
|
@@ -28,9 +28,11 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
Lib/test/test_sysconfig.py | 17 +++++++++++++--
|
||||
2 files changed, 65 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/Lib/sysconfig/__init__.py
|
||||
+++ b/Lib/sysconfig/__init__.py
|
||||
@@ -106,6 +106,11 @@ if os.name == 'nt':
|
||||
Index: Python-3.14.0a7/Lib/sysconfig/__init__.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/sysconfig/__init__.py 2025-04-12 23:55:23.521797317 +0200
|
||||
+++ Python-3.14.0a7/Lib/sysconfig/__init__.py 2025-04-12 23:55:30.484969292 +0200
|
||||
@@ -106,6 +106,11 @@
|
||||
else:
|
||||
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
|
||||
|
||||
@@ -42,7 +44,7 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
def _get_implementation():
|
||||
return 'Python'
|
||||
|
||||
@@ -167,13 +172,28 @@ if _HAS_USER_BASE:
|
||||
@@ -169,13 +174,28 @@
|
||||
},
|
||||
}
|
||||
|
||||
@@ -71,7 +73,7 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
_BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix)
|
||||
# Mutex guarding initialization of _CONFIG_VARS.
|
||||
_CONFIG_VARS_LOCK = threading.RLock()
|
||||
@@ -259,11 +279,40 @@ def _extend_dict(target_dict, other_dict
|
||||
@@ -268,11 +288,40 @@
|
||||
target_dict[key] = value
|
||||
|
||||
|
||||
@@ -113,9 +115,11 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
if os.name == 'nt':
|
||||
# On Windows we want to substitute 'lib' for schemes rather
|
||||
# than the native value (without modifying vars, in case it
|
||||
--- a/Lib/test/test_sysconfig.py
|
||||
+++ b/Lib/test/test_sysconfig.py
|
||||
@@ -130,8 +130,19 @@ class TestSysConfig(unittest.TestCase):
|
||||
Index: Python-3.14.0a7/Lib/test/test_sysconfig.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_sysconfig.py 2025-04-12 23:55:25.242938668 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_sysconfig.py 2025-04-12 23:55:30.485409994 +0200
|
||||
@@ -131,8 +131,19 @@
|
||||
for scheme in _INSTALL_SCHEMES:
|
||||
for name in _INSTALL_SCHEMES[scheme]:
|
||||
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
|
||||
@@ -136,7 +140,7 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
os.path.normpath(expected),
|
||||
)
|
||||
|
||||
@@ -386,7 +397,7 @@ class TestSysConfig(unittest.TestCase):
|
||||
@@ -387,7 +398,7 @@
|
||||
self.assertTrue(os.path.isfile(config_h), config_h)
|
||||
|
||||
def test_get_scheme_names(self):
|
||||
@@ -145,7 +149,7 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
|
||||
if HAS_USER_BASE:
|
||||
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
|
||||
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
|
||||
@@ -398,6 +409,8 @@ class TestSysConfig(unittest.TestCase):
|
||||
@@ -399,6 +410,8 @@
|
||||
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
|
||||
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))
|
||||
|
||||
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74e83f26de1e4fb9eef1b56492cff92508834bb71ac13f5c580438ce9f093682
|
||||
size 22859900
|
File diff suppressed because one or more lines are too long
3
Python-3.14.0a7.tar.xz
Normal file
3
Python-3.14.0a7.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:71adbcec3ac9edf93308e55cfb4184f2eb4b16fda2bb0a5a382929ed29c8386d
|
||||
size 23015952
|
1
Python-3.14.0a7.tar.xz.sigstore
Normal file
1
Python-3.14.0a7.tar.xz.sigstore
Normal file
@@ -0,0 +1 @@
|
||||
{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIICzjCCAlSgAwIBAgIUDwqRiJH4afgF7PkW1Qo6rr2v0lkwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUwNDA4MTQxMDA1WhcNMjUwNDA4MTQyMDA1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZMgeduxSbRvf4+rxh9JLHe0ESc4Xexly0NaNWHeiTHLmdg+PRLNa5wLOEMZnjbZejU7znxttN65MnOzV5cOcoKOCAXMwggFvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUJQXlBvRXJEBKte20LxybMfGrT6YwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABlhW8oHwAAAQDAEcwRQIhALZwxAQ5nnFRozZP8YRDJAl6S1kWfYD5oV7AEPrj0s5CAiA5CY5C5cBFEcjroS+wQAWg1LW4HqvRZ0KVR99kcb4a/TAKBggqhkjOPQQDAwNoADBlAjAHbpNPV8nJ2q37EdYR8NElF7p7qVBSdT9VzBLh0X0WL0Df0ub0LiBPYPNELQ/n0rQCMQDd2OPfzn42qBrwT/TUP2yR0/0h9nsqGOsinLhLH/euLXXJ+xK0iHMRLfk4cABvoFs="}, "tlogEntries": [{"logIndex": "193881744", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1744121405", "inclusionPromise": {"signedEntryTimestamp": "MEUCIQDZCZJVW+h+35nY12Z9y9tOkwStyIEVZmXSPx7mQUy0DwIgYWnL18yNoypHlLRSb2WIkcRxcD589pZdPORUS442MhU="}, "inclusionProof": {"logIndex": "71977482", "rootHash": "5SzvaU4/6U0MtwYjXGh0z1gIbnBbXfoMCLyL7PyEzE8=", "treeSize": "71977483", "hashes": ["+kSGTHFAaROPxw/+007Kwz3MXdUvY3V+rrY6sn3rTWc=", "gArlaOWkPW1lG6zUi9fwcxm6cyXspC+A2q3O5EzUI28=", "9TNwbV6fOnLuQ0CrvdKWO4n2fooZCvdCTwrFZCo6a8E=", "phHq2powa3InqGTI+IN0To1CKFgq/QLjjjUOmMz73pU=", "3tDvwrpMz/XYloigErVZuQZphUjJ7mX16wnR7tq2tMY=", "QReFEOB9XSZtDKsjRtA0fGnYGMYD2Z7qn50auG1YlWo=", "K26LG80DXyb+bC58c4Nw00WigG52v0PCsZGY3ExGsts=", "WEm5OgPzJpYROv+4CcrieexCYyQKrLUH3hbxmcQQ+DM=", "7v8qPHNDLerpduaMx06eb/MwgoQwczTn/cYGKX/9wZ4="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n71977483\n5SzvaU4/6U0MtwYjXGh0z1gIbnBbXfoMCLyL7PyEzE8=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiEAxksfGmVyE0Zi4wa9fM67aL5JUeJSsJUyWeU2jqqH/yoCIHfCdL/guuSIxD8tEK6/qQoRdbugANBBjI6gG96bkluH\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI3MWFkYmNlYzNhYzllZGY5MzMwOGU1NWNmYjQxODRmMmViNGIxNmZkYTJiYjBhNWEzODI5MjllZDI5YzgzODZkIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUR3U3lCQ2swa2t3NytBNDlSL0UxVmdrRUtORXhKYUt4ejU3SjYzUWdTSlhBSWdMdUVpNGNqMnMvTFZ1VEdaaThGMkxZZVhzOUJtYXA0cnVyU3NWWHI5L21VPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTjZha05EUVd4VFowRjNTVUpCWjBsVlJIZHhVbWxLU0RSaFptZEdOMUJyVnpGUmJ6WnljakoyTUd4cmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFZkMDVFUVRSTlZGRjRUVVJCTVZkb1kwNU5hbFYzVGtSQk5FMVVVWGxOUkVFeFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZhVFdkbFpIVjRVMkpTZG1ZMEszSjRhRGxLVEVobE1FVlRZelJZWlhoc2VUQk9ZVTRLVjBobGFWUklURzFrWnl0UVVreE9ZVFYzVEU5RlRWcHVhbUphWldwVk4zcHVlSFIwVGpZMVRXNVBlbFkxWTA5amIwdFBRMEZZVFhkblowWjJUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZLVVZoc0NrSjJVbGhLUlVKTGRHVXlNRXg0ZVdKTlprZHlWRFpaZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRU5DYVdkWlMwdDNXVUpDUVVoWFpWRkpSVUZuVWpnS1FraHZRV1ZCUWpKQlRqQTVUVWR5UjNoNFJYbFplR3RsU0Vwc2JrNTNTMmxUYkRZME0ycDVkQzgwWlV0amIwRjJTMlUyVDBGQlFVSnNhRmM0YjBoM1FRcEJRVkZFUVVWamQxSlJTV2hCVEZwM2VFRlJOVzV1UmxKdmVscFFPRmxTUkVwQmJEWlRNV3RYWmxsRU5XOVdOMEZGVUhKcU1ITTFRMEZwUVRWRFdUVkRDalZqUWtaRlkycHliMU1yZDFGQlYyY3hURmMwU0hGMlVsb3dTMVpTT1RsclkySTBZUzlVUVV0Q1oyZHhhR3RxVDFCUlVVUkJkMDV2UVVSQ2JFRnFRVWdLWW5CT1VGWTRia295Y1RNM1JXUlpVamhPUld4R04zQTNjVlpDVTJSVU9WWjZRa3hvTUZnd1Ywd3dSR1l3ZFdJd1RHbENVRmxRVGtWTVVTOXVNSEpSUXdwTlVVUmtNazlRWm5wdU5ESnhRbkozVkM5VVZWQXllVkl3THpCb09XNXpjVWRQYzJsdVRHaE1TQzlsZFV4WVdFb3JlRXN3YVVoTlVreG1helJqUVVKMkNtOUdjejBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}]}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "ca287DrJ7fkzCOVc+0GE8utLFv2iuwpaOCkp7SnIOG0="}, "signature": "MEUCIQDwSyBCk0kkw7+A49R/E1VgkEKNExJaKxz57J63QgSJXAIgLuEi4cj2s/LVuTGZi8F2LYeXs9Bmap4rurSsVXr9/mU="}}
|
@@ -5,28 +5,32 @@ Subject: [PATCH] bpo-31046: ensurepip does not honour the value of $(prefix)
|
||||
|
||||
Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
---
|
||||
Doc/library/ensurepip.rst | 9 +++--
|
||||
Doc/library/ensurepip.rst | 12 +++++-
|
||||
Lib/ensurepip/__init__.py | 18 +++++++---
|
||||
Lib/test/test_ensurepip.py | 11 ++++++
|
||||
Makefile.pre.in | 4 +-
|
||||
Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst | 1
|
||||
5 files changed, 34 insertions(+), 9 deletions(-)
|
||||
5 files changed, 37 insertions(+), 9 deletions(-)
|
||||
create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
||||
|
||||
--- a/Doc/library/ensurepip.rst
|
||||
+++ b/Doc/library/ensurepip.rst
|
||||
@@ -59,8 +59,9 @@ is at least as recent as the one availab
|
||||
Index: Python-3.14.0a7/Doc/library/ensurepip.rst
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Doc/library/ensurepip.rst 2025-04-08 13:20:51.000000000 +0200
|
||||
+++ Python-3.14.0a7/Doc/library/ensurepip.rst 2025-04-12 23:57:46.539191105 +0200
|
||||
@@ -61,7 +61,11 @@
|
||||
By default, ``pip`` is installed into the current virtual environment
|
||||
(if one is active) or into the system site packages (if there is no
|
||||
active virtual environment). The installation location can be controlled
|
||||
-through two additional command line options:
|
||||
+through some additional command line options:
|
||||
+
|
||||
+.. option:: --prefix <dir>
|
||||
+
|
||||
+ Installs ``pip`` using the given directory prefix.
|
||||
|
||||
+* ``--prefix <dir>``: Installs ``pip`` using the given directory prefix.
|
||||
* :samp:`--root {dir}`: Installs ``pip`` relative to the given root directory
|
||||
rather than the root of the currently active virtual environment (if any)
|
||||
or the default root for the current Python installation.
|
||||
@@ -92,7 +93,7 @@ Module API
|
||||
.. option:: --root <dir>
|
||||
|
||||
@@ -102,7 +106,7 @@
|
||||
Returns a string specifying the available version of pip that will be
|
||||
installed when bootstrapping an environment.
|
||||
|
||||
@@ -35,7 +39,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
altinstall=False, default_pip=False, \
|
||||
verbosity=0)
|
||||
|
||||
@@ -102,6 +103,8 @@ Module API
|
||||
@@ -112,6 +116,8 @@
|
||||
If *root* is ``None``, then installation uses the default install location
|
||||
for the current environment.
|
||||
|
||||
@@ -44,7 +48,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
*upgrade* indicates whether or not to upgrade an existing installation
|
||||
of an earlier version of ``pip`` to the available version.
|
||||
|
||||
@@ -122,6 +125,8 @@ Module API
|
||||
@@ -132,6 +138,8 @@
|
||||
*verbosity* controls the level of output to :data:`sys.stdout` from the
|
||||
bootstrapping operation.
|
||||
|
||||
@@ -53,9 +57,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
.. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap
|
||||
|
||||
.. note::
|
||||
--- a/Lib/ensurepip/__init__.py
|
||||
+++ b/Lib/ensurepip/__init__.py
|
||||
@@ -106,27 +106,27 @@ def _disable_pip_configuration_settings(
|
||||
Index: Python-3.14.0a7/Lib/ensurepip/__init__.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/ensurepip/__init__.py 2025-04-12 23:55:22.995381917 +0200
|
||||
+++ Python-3.14.0a7/Lib/ensurepip/__init__.py 2025-04-12 23:56:51.429686796 +0200
|
||||
@@ -106,27 +106,27 @@
|
||||
os.environ['PIP_CONFIG_FILE'] = os.devnull
|
||||
|
||||
|
||||
@@ -88,7 +94,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
|
||||
Note that calling this function will alter both sys.path and os.environ.
|
||||
"""
|
||||
@@ -162,6 +162,8 @@ def _bootstrap(*, root=None, upgrade=Fal
|
||||
@@ -162,6 +162,8 @@
|
||||
args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir]
|
||||
if root:
|
||||
args += ["--root", root]
|
||||
@@ -97,7 +103,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
if upgrade:
|
||||
args += ["--upgrade"]
|
||||
if user:
|
||||
@@ -238,6 +240,11 @@ def _main(argv=None):
|
||||
@@ -238,6 +240,11 @@
|
||||
help="Install everything relative to this alternate root directory.",
|
||||
)
|
||||
parser.add_argument(
|
||||
@@ -109,7 +115,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
"--altinstall",
|
||||
action="store_true",
|
||||
default=False,
|
||||
@@ -256,6 +263,7 @@ def _main(argv=None):
|
||||
@@ -256,6 +263,7 @@
|
||||
|
||||
return _bootstrap(
|
||||
root=args.root,
|
||||
@@ -117,9 +123,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
upgrade=args.upgrade,
|
||||
user=args.user,
|
||||
verbosity=args.verbosity,
|
||||
--- a/Lib/test/test_ensurepip.py
|
||||
+++ b/Lib/test/test_ensurepip.py
|
||||
@@ -100,6 +100,17 @@ class TestBootstrap(EnsurepipMixin, unit
|
||||
Index: Python-3.14.0a7/Lib/test/test_ensurepip.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_ensurepip.py 2025-04-12 23:55:24.305360451 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_ensurepip.py 2025-04-12 23:56:51.430001922 +0200
|
||||
@@ -100,6 +100,17 @@
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
|
||||
@@ -137,9 +145,11 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
def test_bootstrapping_with_user(self):
|
||||
ensurepip.bootstrap(user=True)
|
||||
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -2228,7 +2228,7 @@ install: @FRAMEWORKINSTALLFIRST@ @INSTAL
|
||||
Index: Python-3.14.0a7/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Makefile.pre.in 2025-04-12 23:55:34.668791223 +0200
|
||||
+++ Python-3.14.0a7/Makefile.pre.in 2025-04-12 23:56:51.430413011 +0200
|
||||
@@ -2322,7 +2322,7 @@
|
||||
install|*) ensurepip="" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
@@ -148,7 +158,7 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
fi
|
||||
|
||||
.PHONY: altinstall
|
||||
@@ -2239,7 +2239,7 @@ altinstall: commoninstall
|
||||
@@ -2333,7 +2333,7 @@
|
||||
install|*) ensurepip="--altinstall" ;; \
|
||||
esac; \
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
||||
@@ -157,7 +167,9 @@ Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
||||
fi
|
||||
|
||||
.PHONY: commoninstall
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
||||
Index: Python-3.14.0a7/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ Python-3.14.0a7/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 2025-04-12 23:56:51.431067499 +0200
|
||||
@@ -0,0 +1 @@
|
||||
+A directory prefix can now be specified when using :mod:`ensurepip`.
|
||||
|
@@ -2,9 +2,11 @@
|
||||
Lib/test/test_compile.py | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/Lib/test/test_compile.py
|
||||
+++ b/Lib/test/test_compile.py
|
||||
@@ -25,6 +25,9 @@ from test.support import (script_helper,
|
||||
Index: Python-3.14.0a7/Lib/test/test_compile.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_compile.py 2025-04-12 23:55:24.033076315 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_compile.py 2025-04-12 23:58:06.932213319 +0200
|
||||
@@ -24,6 +24,9 @@
|
||||
from test.support.bytecode_helper import instructions_with_positions
|
||||
from test.support.os_helper import FakePath
|
||||
|
||||
@@ -14,19 +16,19 @@
|
||||
class TestSpecifics(unittest.TestCase):
|
||||
|
||||
def compile_single(self, source):
|
||||
@@ -121,6 +124,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
@@ -120,6 +123,7 @@
|
||||
self.assertEqual(d['z'], 12)
|
||||
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
|
||||
@support.skip_emscripten_stack_overflow()
|
||||
def test_extended_arg(self):
|
||||
repeat = int(get_c_recursion_limit() * 0.9)
|
||||
@@ -710,6 +714,7 @@ class TestSpecifics(unittest.TestCase):
|
||||
repeat = 100
|
||||
@@ -709,6 +713,7 @@
|
||||
|
||||
@support.cpython_only
|
||||
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
||||
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
|
||||
@support.skip_emscripten_stack_overflow()
|
||||
def test_compiler_recursion_limit(self):
|
||||
# Expected limit is Py_C_RECURSION_LIMIT
|
||||
# Compiler frames are small
|
||||
|
@@ -2,9 +2,11 @@
|
||||
Makefile.pre.in | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -1743,11 +1743,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
|
||||
Index: Python-3.14.0a7/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Makefile.pre.in 2025-04-08 13:20:51.000000000 +0200
|
||||
+++ Python-3.14.0a7/Makefile.pre.in 2025-04-12 23:55:34.668791223 +0200
|
||||
@@ -1855,11 +1855,18 @@
|
||||
$(DTRACE_OBJS) \
|
||||
$(srcdir)/Modules/getbuildinfo.c
|
||||
$(CC) -c $(PY_CORE_CFLAGS) \
|
||||
|
@@ -1,3 +1,691 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 12 21:50:29 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
- Update to 3.14.0~a7:
|
||||
- Tools/Demos
|
||||
- gh-132121: Always escape non-printable Unicode characters in
|
||||
pygettext.
|
||||
- gh-131852: msgfmt no longer adds the POT-Creation-Date to
|
||||
generated .mo files for consistency with GNU msgfmt.
|
||||
- Tests
|
||||
- gh-131277: Allow to unset one or more environment variables
|
||||
at once via EnvironmentVarGuard.unset(). Patch by Bénédikt
|
||||
Tran.
|
||||
- gh-131050: test_ssl.test_dh_params is skipped if the
|
||||
underlying TLS library does not support finite-field
|
||||
ephemeral Diffie-Hellman.
|
||||
- Security
|
||||
- gh-131809: Update bundled libexpat to 2.7.1
|
||||
- gh-131261: Upgrade to libexpat 2.7.0
|
||||
- gh-121284: Fix bug in the folding of rfc2047 encoded-words
|
||||
when flattening an email message using a modern email
|
||||
policy. Previously when an encoded-word was too long for
|
||||
a line, it would be decoded, split across lines, and
|
||||
re-encoded. But commas and other special characters in the
|
||||
original text could be left unencoded and unquoted. This
|
||||
could theoretically be used to spoof header lines using a
|
||||
carefully constructed encoded-word if the resulting rendered
|
||||
email was transmitted or re-parsed.
|
||||
- Library
|
||||
- gh-132174: Fix function name in error message of
|
||||
_interpreters.run_string.
|
||||
- gh-132171: Fix crash of _interpreters.run_string on string
|
||||
subclasses.
|
||||
- gh-129204: Introduce new _PYTHON_SUBPROCESS_USE_POSIX_SPAWN
|
||||
environment variable knob in subprocess to control the use of
|
||||
os.posix_spawn().
|
||||
- gh-132159: Do not shadow user arguments in generated
|
||||
__new__() by decorator warnings.deprecated. Patch by Xuehai
|
||||
Pan.
|
||||
- gh-132168: The ctypes.py_object type now supports
|
||||
subscription, making it a generic type.
|
||||
- gh-84481: Add the zipfile.ZipFile.data_offset attribute,
|
||||
which stores the offset to the beginning of ZIP data in a
|
||||
file when available. When the zipfile.ZipFile is opened in
|
||||
either mode 'w' or 'x' and the underlying file does not
|
||||
support tell(), the value will be None instead.
|
||||
- gh-132075: Fix possible use of socket address structures
|
||||
with uninitialized members. Now all structure members are
|
||||
initialized with zeroes by default.
|
||||
- gh-118761: Improve import times by up to 27x for the string
|
||||
module. Patch by Adam Turner.
|
||||
- gh-125434: Display thread name in faulthandler. Patch by
|
||||
Victor Stinner.
|
||||
- gh-132002: Fix crash when deallocating contextvars.ContextVar
|
||||
with weird unahashable string names.
|
||||
- gh-131938: xml.etree.ElementTree: update the error message
|
||||
when an element to remove via Element.remove is not
|
||||
found. Patch by Bénédikt Tran.
|
||||
- gh-115942: Add threading.RLock.locked(),
|
||||
multiprocessing.Lock.locked(),
|
||||
multiprocessing.RLock.locked(), and allow
|
||||
multiprocessing.managers.SyncManager.Lock() and
|
||||
multiprocessing.managers.SyncManager.RLock() to proxy
|
||||
locked() call.
|
||||
- gh-131974: Fix several thread-safety issues in ctypes on the
|
||||
free threaded build.
|
||||
- gh-118761: Improve the import time of the ast module by
|
||||
extracting the unparse() function to a helper module.
|
||||
- gh-107369: Improved performance of textwrap.dedent() by an
|
||||
average of ~1.3x. Patch by Adam Turner.
|
||||
- gh-131792: Improved performance of textwrap.dedent() by an
|
||||
average of ~2.4x, (with improvements of up to 4x for large
|
||||
inputs), and fixed a bug where blank lines with whitespace
|
||||
characters other than space or horizontal tab were not
|
||||
normalised to the newline. Patch by Adam Turner, Marius
|
||||
Juston, and Pieter Eendebak.
|
||||
- gh-131668: socket: Fix code parsing AF_BLUETOOTH socket
|
||||
addresses.
|
||||
- gh-60115: Support frozen modules for linecache.getline().
|
||||
- gh-131492: Fix a resource leak when constructing a
|
||||
gzip.GzipFile with a filename fails, for example when passing
|
||||
an invalid compresslevel.
|
||||
- gh-131435: 10-20% performance improvement of
|
||||
random.randint().
|
||||
- gh-131461: Fix ResourceWarning when constructing a
|
||||
gzip.GzipFile in write mode with a broken file object.
|
||||
- gh-125866: Deprecate the nturl2path module. Call
|
||||
urllib.request.url2pathname() and pathname2url() instead.
|
||||
- gh-126367: Fix issue where urllib.request.url2pathname()
|
||||
raised OSError when given a Windows URI containing a colon
|
||||
character not following a drive letter, such as before an
|
||||
NTFS alternate data stream.
|
||||
- gh-120144: Disable CALL event in bdb in monitoring backend
|
||||
when we don’t need any new events on the code object to get a
|
||||
better performance.
|
||||
- gh-131358: Register cseuckr as an encoding alias for euc_kr.
|
||||
- gh-131325: Fix sendfile fallback implementation to drain data
|
||||
after writing to transport in asyncio.
|
||||
- gh-90548: platform.libc_ver() can now detect and report the
|
||||
version of musl on Alpine Linux.
|
||||
- gh-129843: Fix incorrect argument passing in
|
||||
warnings.warn_explicit().
|
||||
- gh-70647: When creating a datetime object with an out of
|
||||
range date a more informative error is raised.
|
||||
- gh-130914: Allow graphlib.TopologicalSorter.prepare()
|
||||
to be called more than once as long as sorting has not
|
||||
started. Patch by Daniel Pope.
|
||||
- gh-131236: Allow to generate multiple UUIDs at once via
|
||||
python -m uuid --count.
|
||||
- gh-126895: Fix readline in free-threaded build.
|
||||
- gh-121468: $_asynctask is added as a pdb convenience variable
|
||||
to access the current asyncio task if applicable.
|
||||
- gh-118761: Improve import time of locale using lazy import
|
||||
re. Patch by Semyon Moroz.
|
||||
- gh-129598: Fix ast.unparse() when ast.Interactive contains
|
||||
multiple statements.
|
||||
- gh-85162: The http.server module now includes
|
||||
built-in support for HTTPS servers exposed by
|
||||
http.server.HTTPSServer. This functionality is exposed by the
|
||||
command-line interface (python -m http.server) through the
|
||||
--tls-cert, --tls-key and --tls-password-file options. Patch
|
||||
by Semyon Moroz.
|
||||
- gh-129463: The implementations of equality and hashing
|
||||
for annotationlib.ForwardRef now use all attributes on
|
||||
the object. Two ForwardRef objects are equal only if all
|
||||
attributes are equal.
|
||||
- gh-128593: annotationlib.ForwardRef objects no longer cache
|
||||
their value when they are successfully evaluated. Successive
|
||||
calls to annotationlib.ForwardRef.evaluate() may return
|
||||
different values.
|
||||
- gh-117779: Fix reading duplicated entries in zipfile by
|
||||
name. Reading duplicated entries (except the last one) by
|
||||
ZipInfo now emits a warning instead of raising an exception.
|
||||
- gh-128715: The class of Structure/Union field descriptors
|
||||
is now available as CField, and has new attributes to aid
|
||||
debugging and introspection.
|
||||
- gh-128055: Fix test.test_sysconfig.test_sysconfigdata_json
|
||||
when running outside the build directory (eg. after
|
||||
installing).
|
||||
- gh-126037: xml.etree.ElementTree: Fix a crash in
|
||||
Element.find, Element.findtext and Element.findall when
|
||||
the tag to find implements an __eq__() method mutating the
|
||||
element being queried. Patch by Bénédikt Tran.
|
||||
- gh-127794: When headers are added to email.message.Message
|
||||
objects, either through email.message.Message.__setitem__()
|
||||
or email.message.Message.add_header(), the field name is now
|
||||
validated according to RFC 5322, Section 2.2 and a ValueError
|
||||
is raised if the field name contains any invalid characters.
|
||||
- gh-123599: Deprecate pathlib.PurePath.as_uri(); use
|
||||
pathlib.Path.as_uri() instead.
|
||||
- gh-126033: xml.etree.ElementTree: Fix a crash in
|
||||
Element.remove when the element is concurrently
|
||||
mutated. Patch by Bénédikt Tran.
|
||||
- gh-120144: Add the optional backend of sys.monitoring to bdb
|
||||
and use it for pdb.
|
||||
- gh-74598: Add fnmatch.filterfalse() for excluding names
|
||||
matching a pattern. Patch by Bénédikt Tran.
|
||||
- gh-114917: Add support for AI_NUMERICSERV in getaddrinfo
|
||||
emulation
|
||||
- bpo-17254: Added aliases for Thai Language using Microsoft
|
||||
Code Pages.
|
||||
- Documentation
|
||||
- gh-131417: Mention asyncio.Future and asyncio.Task in generic
|
||||
classes list.
|
||||
- Core and Builtins
|
||||
- gh-131798: Allow the JIT to remove an extra _TO_BOOL_BOOL
|
||||
instruction after _CONTAINS_OP_SET by setting the return type
|
||||
to bool.
|
||||
- gh-132011: Fix crash when calling list.append() as an unbound
|
||||
method.
|
||||
- gh-131998: Fix a crash when using an unbound method
|
||||
descriptor object in a function where a bound method
|
||||
descriptor was used.
|
||||
- gh-131591: Implement PEP 768 (Safe external debugger
|
||||
interface for CPython). Add a new sys.remote_exec() function
|
||||
to the sys module. This function schedules the execution of
|
||||
a Python file in a separate process. Patch by Pablo Galindo,
|
||||
Matt Wozniski and Ivona Stojanovic.
|
||||
- gh-131798: Allow JIT to omit str guard in truthiness test
|
||||
when str type is known.
|
||||
- gh-131833: Add support for optionally dropping grouping
|
||||
parentheses when using multiple exception types as per PEP
|
||||
758. Patch by Pablo Galindo
|
||||
- gh-130924: Usage of a name in a function-scope annotation no
|
||||
longer triggers creation of a cell for that variable. This
|
||||
fixes a regression in earlier alphas of Python 3.14.
|
||||
- gh-131800: Improve the experimental JIT’s ability to remove
|
||||
type checks for certain subscripting operations.
|
||||
- gh-131738: Compiler emits optimized code for builtin
|
||||
any/all/tuple calls over a generator expression.
|
||||
- gh-131719: Fix missing NULL check in _PyMem_FreeDelayed in
|
||||
free-threaded build.
|
||||
- gh-131670: Fix anext() failing on sync __anext__() raising an
|
||||
exception.
|
||||
- gh-131666: Fix signature of anext_awaitable.close
|
||||
objects. Patch by Bénédikt Tran.
|
||||
- gh-130415: Optimize comparison of two constants in JIT builds
|
||||
- gh-129149: Add fast path for small and medium-size
|
||||
integers in PyLong_FromInt32(), PyLong_FromUInt32(),
|
||||
PyLong_FromInt64() and PyLong_FromUInt64(). Patch by Chris
|
||||
Eibl.
|
||||
- gh-130887: Optimize the AArch64 code generation for the
|
||||
JIT. Patch by Diego Russo
|
||||
- gh-130956: Optimize the AArch64 code generation for the
|
||||
JIT. Patch by Diego Russo
|
||||
- gh-130928: Fix error message when formatting bytes using the
|
||||
'i' flag. Patch by Maxim Ageev.
|
||||
- gh-130935: Annotations at the class and module level
|
||||
that are conditionally defined are now only reflected in
|
||||
__annotations__ if the block they are in is executed. Patch
|
||||
by Jelle Zijlstra.
|
||||
- gh-130775: Do not crash on negative column and end_column in
|
||||
ast locations.
|
||||
- gh-130704: Optimize LOAD_FAST and its superinstruction form
|
||||
to reduce reference counting overhead. These instructions are
|
||||
replaced with faster variants that load borrowed references
|
||||
onto the operand stack when we can prove that the reference
|
||||
in the frame outlives the reference loaded onto the stack.
|
||||
- gh-88887: Fixing multiprocessing Resource Tracker process
|
||||
leaking, usually observed when running Python as PID 1.
|
||||
- gh-130115: Fix an issue with thread identifiers being
|
||||
sign-extended on some platforms.
|
||||
- gh-99108: Add support for built-in implementation of HMAC
|
||||
(RFC 2104) based on HACL*. Patch by Bénédikt Tran.
|
||||
- gh-130080: Implement PEP 765: Disallow return/break/continue
|
||||
that exit a finally block.
|
||||
- gh-129900: Fix return codes inside SystemExit not getting
|
||||
returned by the REPL.
|
||||
- gh-128632: Disallow __classdict__ as the name of a type
|
||||
parameter. Using this name would previously crash the
|
||||
interpreter in some circumstances.
|
||||
- gh-126703: Improve performance of builtin methods by using a
|
||||
freelist.
|
||||
- gh-126703: Improve performance of range by using a freelist.
|
||||
- C API
|
||||
- gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm
|
||||
gen.
|
||||
- gh-131525: The PyTupleObject now caches the computed hash
|
||||
value in the new field ob_hash.
|
||||
- Build
|
||||
- gh-131865: The DTrace build now properly passes the CC
|
||||
and CFLAGS variables to the dtrace command when utilizing
|
||||
SystemTap on Linux.
|
||||
- gh-131675: Fix mimalloc library builds for 32-bit ARM
|
||||
targets.
|
||||
- gh-131691: clang-cl on Windows needs option /EHa to support
|
||||
SEH (structured exception handling) correctly. Fix by Chris
|
||||
Eibl.
|
||||
- gh-131278: Add optimizing flag WITH_COMPUTED_GOTOS to Windows
|
||||
builds for when using a compiler that supports it (currently
|
||||
clang-cl). Patch by Chris Eibl.
|
||||
- gh-130213: Update the vendored HACL* library to fix build
|
||||
issues with older clang compilers.
|
||||
- gh-130673: Fix potential KeyError when handling object
|
||||
sections during JIT building process.
|
||||
- Update to 3.14.0~a6:
|
||||
- Tools/Demos
|
||||
- gh-130453: Make it possible to override default keywords in
|
||||
pygettext.
|
||||
- gh-85012: Correctly reset msgctxt when compiling messages
|
||||
in msgfmt.
|
||||
- gh-130453: Extend support for specifying custom keywords in
|
||||
pygettext.
|
||||
- gh-130195: Add warning messages when pygettext
|
||||
unimplemented -a/--extract-all option is called.
|
||||
- gh-130057: Add support for translator comments in
|
||||
pygettext.py.
|
||||
- gh-130025: The iOS testbed now correctly handles symlinks
|
||||
used as Python framework references.
|
||||
- gh-129911: Fix the keyword entry in the help output of
|
||||
pygettext.
|
||||
- Tests
|
||||
- gh-129200: Multiple iOS testbed runners can now be started
|
||||
at the same time without introducing an ambiguity over
|
||||
simulator ownership.
|
||||
- gh-130292: The iOS testbed will now run successfully on a
|
||||
machine that has not previously run Xcode tests (such as CI
|
||||
configurations).
|
||||
- gh-130293: The tests of terminal colorization are no longer
|
||||
sensitive to the value of the TERM variable in the testing
|
||||
environment.
|
||||
- gh-129401: Fix a flaky test in test_repr_rlock that checks
|
||||
the representation of multiprocessing.RLock.
|
||||
- gh-126332: Add unit tests for pyrepl.
|
||||
- Security
|
||||
- gh-127371: Avoid unbounded buffering for
|
||||
tempfile.SpooledTemporaryFile.writelines(). Previously,
|
||||
disk spillover was only checked after the lines iterator
|
||||
had been exhausted. This is now done after each line is
|
||||
written.
|
||||
- Library
|
||||
- gh-131204: Use monospace font from System Font Stack for
|
||||
cross-platform support in difflib.HtmlDiff.
|
||||
- gh-131196: Improve perfomance of uuid.UUID.hex and
|
||||
uuid.UUID.__str__.
|
||||
- gh-130940: The behavior of PyConfig.use_system_logger
|
||||
was modified to be enabled by default on iOS. It remains
|
||||
disabled by default on macOS.
|
||||
- gh-131123: Supported completions for attributes of
|
||||
convenience variables in pdb.
|
||||
- gh-93096: Removed undocumented CLI python -m difflib. Use
|
||||
python -m doctest Lib/difflib.py -v instead. Patch by
|
||||
Semyon Moroz.
|
||||
- gh-93096: Removed undocumented -t and -v arguments of
|
||||
python -m pickle. Use python -m doctest Lib/pickle.py -v
|
||||
instead. Patch by Semyon Moroz.
|
||||
- gh-81267: Correct time.sleep() error message when an object
|
||||
that cannot be interpreted as an integer or float is
|
||||
provided.
|
||||
- gh-93096: Removed undocumented -t and -v arguments
|
||||
of python -m pickletools. Use python -m doctest
|
||||
Lib/pickletools.py -v instead. Patch by Semyon Moroz.
|
||||
- gh-131045: Fix issue with __contains__, values, and
|
||||
pseudo-members for enum.Flag.
|
||||
- gh-130959: Fix pure-Python implementation of
|
||||
datetime.time.fromisoformat() to reject times with spaces
|
||||
in fractional part (for example, 12:34:56.400 +02:00),
|
||||
matching the C implementation. Patch by Michał Gorny.
|
||||
- gh-130806: Deleting gzip.GzipFile before it is closed now
|
||||
emits a ResourceWarning.
|
||||
- gh-130637: Add validation for numeric response data in
|
||||
poplib.POP3.stat() method
|
||||
- gh-130665: Only apply locale to calendar CLI when set via
|
||||
--locale and not via LANG environment variable.
|
||||
- gh-130660: sys.ps1 and sys.ps2 are now restored after
|
||||
code.interact() call.
|
||||
- gh-130608: Remove dirs_exist_ok argument from
|
||||
pathlib.Path.copy() and copy_into(). These methods are new
|
||||
in Python 3.14.
|
||||
- gh-130461: Remove .. index:: directives from the uuid
|
||||
module documentation. These directives previously created
|
||||
entries in the general index for getnode() as well as the
|
||||
uuid1(), uuid3(), uuid4(), uuid5(), and uuid8() constructor
|
||||
functions.
|
||||
- gh-130379: The zipapp module now calculates the list of
|
||||
files to be added to the archive before creating the
|
||||
archive. This avoids accidentally including the target when
|
||||
it is being created in the source directory.
|
||||
- gh-82987: Inline breakpoints like breakpoint() or
|
||||
pdb.set_trace() will always stop the program at calling
|
||||
frame, ignoring the skip pattern (if any).
|
||||
- gh-125377: <tab> at the beginning of the line in pdb
|
||||
multi-line input will fill in a 4-space indentation now,
|
||||
instead of inserting a \t character.
|
||||
- gh-125413: Ensure the path returned from
|
||||
pathlib.Path.copy() or move() has fresh info.
|
||||
- gh-65697: stdlib configparser will now attempt to validate
|
||||
that keys it writes will not result in file corruption
|
||||
(creating a file unable to be accurately parsed by a future
|
||||
read() call from the same parser). Attempting a corrupting
|
||||
write() will raise an InvalidWriteError.
|
||||
- gh-125413: Speed up Path.copy by making better use of info
|
||||
internally.
|
||||
- gh-130285: Fix corner case for random.sample() allowing the
|
||||
counts parameter to specify an empty population. So now,
|
||||
sample([], 0, counts=[]) and sample('abc', k=0, counts=[0,
|
||||
0, 0]) both give the same result as sample([], 0).
|
||||
- gh-124703: Executing quit command in pdb will raise
|
||||
bdb.BdbQuit when pdb is started from an interactive console
|
||||
using breakpoint() or pdb.set_trace().
|
||||
- gh-107773: Make datetime subclass __repr__() consistent
|
||||
both implementations. Patch by Semyon Moroz.
|
||||
- gh-130250: Fix regression in traceback.print_last().
|
||||
- gh-123471: Make concurrent iterations over
|
||||
itertools.batched safe under free-threading.
|
||||
- gh-57537: Support breakpoints for zipimport modules on pdb
|
||||
- gh-130230: Fix crash in pow() with only Decimal third
|
||||
argument.
|
||||
- gh-126944: Show explicit errors when required arguments of
|
||||
pdb commands are missing
|
||||
- gh-127750: Improve repr of functools.singledispatchmethod
|
||||
methods and descriptors.
|
||||
- gh-128520: Apply type conversion consistently in
|
||||
pathlib.PurePath and Path methods can accept a path
|
||||
object as an argument, such as match() and rename(). The
|
||||
argument is now converted to path object if it lacks a
|
||||
with_segments() attribute, and not otherwise.
|
||||
- gh-118761: Reverts a change in the previous release
|
||||
attempting to make some stdlib imports used within the
|
||||
subprocess module lazy as this was causing errors during
|
||||
__del__ finalizers calling methods such as terminate, or
|
||||
kill, or send_signal.
|
||||
- gh-130164: Fixed failure to raise TypeError in
|
||||
inspect.Signature.bind() for positional-only arguments
|
||||
provided by keyword when a variadic keyword argument (e.g.
|
||||
**kwargs) is present.
|
||||
- gh-130151: Fix reference leaks in _hashlib.hmac_new() and
|
||||
_hashlib.hmac_digest(). Patch by Bénédikt Tran.
|
||||
- gh-130145: Fix asyncio.AbstractEventloop.run_forever() when
|
||||
another loop is already running.
|
||||
- gh-130139: Fix bug where ast.parse() did not error on AST
|
||||
input which is not of the correct type, when called with
|
||||
optimize=False.
|
||||
- gh-127260: Forbid the use of colon (“:”) as a fractional
|
||||
component separator and other improvements to the
|
||||
consistency of error raising between the C and Python
|
||||
implementaitons of datetime.time.fromisoformat() and
|
||||
datetime.datetime.fromisoformat(). Patch by Semyon Moroz.
|
||||
- gh-85795: Using super() and __class__ closure variable in
|
||||
user-defined methods of typing.NamedTuple subclasses is now
|
||||
explicitly prohibited at runtime. Contributed by Bartosz
|
||||
Sławecki in gh-130082.
|
||||
- gh-118761: Improve import time of cmd by lazy importing
|
||||
inspect and removing string. Patch by Semyon Moroz.
|
||||
- gh-129726: Fix gzip.GzipFile raising an unraisable
|
||||
exception during garbage collection when referring to
|
||||
a temporary object by breaking the reference loop with
|
||||
weakref.
|
||||
- gh-127750: Remove broken functools.singledispatchmethod()
|
||||
caching introduced in gh-85160. Achieve the same
|
||||
performance using different optimization.
|
||||
- gh-129948: Add support for shared set to
|
||||
multiprocessing.managers.SyncManager via SyncManager.set().
|
||||
- gh-129965: Update MIME types for .avi and .wav. Add MIME
|
||||
types for .docx, .pptx, .xlsx, .epub, .flac, .m4a, .odg,
|
||||
.odp, .ods, .odt, .oga, .ogg, .ogx and .weba. Patch by Hugo
|
||||
van Kemenade.
|
||||
- gh-129889: Support context manager protocol by
|
||||
contextvars.Token. Patch by Andrew Svetlov.
|
||||
- gh-97850: Update the deprecation warning of
|
||||
importlib.abc.Loader.load_module().
|
||||
- gh-129678: configparser.ConfigParser: do not write an empty
|
||||
unnamed section
|
||||
- gh-128641: Restore configparser.ConfigParser.read()
|
||||
performance.
|
||||
- gh-129569: Fix unicodedata.normalize() to always return a
|
||||
built-in str object when given an input of a str subclass,
|
||||
regardless of whether the string is already normalized.
|
||||
- gh-128231: Execution of multiple statements in the new
|
||||
REPL now stops immediately upon the first exception
|
||||
encountered. Patch by Bartosz Sławecki.
|
||||
- gh-96092: Fix bug in traceback.walk_stack() called with
|
||||
None where it was skipping more frames than in prior
|
||||
versions. This bug fix also changes walk_stack to walk the
|
||||
stack in the frame where it was called rather than where it
|
||||
first gets used.
|
||||
- gh-129288: Add optional l2_cid and l2_bdaddr_type fields to
|
||||
socket BTPROTO_L2CAP sockaddr tuple.
|
||||
- gh-128703: Fix mimetypes.guess_type() to use default
|
||||
mapping for empty Content-Type in registry.
|
||||
- gh-128647: Eagerly write to buffers passed to
|
||||
gzip.GzipFile’s readinto() and readinto1() implementations,
|
||||
avoiding unnecessary allocations. Patch by Chris
|
||||
Markiewicz.
|
||||
- gh-128184: Improve display of annotationlib.ForwardRef
|
||||
object within inspect.Signature representations. This
|
||||
also fixes a NameError that was raised when using
|
||||
dataclasses.dataclass() on classes with unresolvable
|
||||
forward references.
|
||||
- gh-128041: Add
|
||||
concurrent.futures.ProcessPoolExecutor.terminate_workers()
|
||||
and concurrent.futures.ProcessPoolExecutor.kill_workers()
|
||||
as ways to terminate or kill all living worker processes
|
||||
in the given pool. (Contributed by Charles Machalow in
|
||||
gh-130849.)
|
||||
- gh-127647: Add protocols io.Reader and io.Writer
|
||||
as alternatives to typing.IO, typing.TextIO, and
|
||||
typing.BinaryIO.
|
||||
- gh-109798: Added additional information into error messages
|
||||
in datetime, and made the messages more consistent between
|
||||
the C and Python implementations. Patch by Semyon Moroz.
|
||||
- gh-125746: Delay deprecated
|
||||
zipimport.zipimporter.load_module() removal time to
|
||||
3.15. Use zipimport.zipimporter.exec_module() instead.
|
||||
- gh-74028: Add the optional buffersize parameter to
|
||||
concurrent.futures.Executor.map() to limit the number of
|
||||
submitted tasks whose results have not yet been yielded. If
|
||||
the buffer is full, iteration over the iterables pauses
|
||||
until a result is yielded from the buffer.
|
||||
- gh-124927: Non-printing characters are now properly handled
|
||||
in the new REPL.
|
||||
- gh-124096: Turn on virtual terminal mode and enable
|
||||
bracketed paste in REPL on Windows console. (If the
|
||||
terminal does not support bracketed paste, enabling it does
|
||||
nothing.)
|
||||
- gh-89083: Add uuid.uuid7() for generating UUIDv7 objects as
|
||||
specified in RFC 9562. Patch by Bénédikt Tran.
|
||||
- gh-89083: Add uuid.uuid6() for generating UUIDv6 objects as
|
||||
specified in RFC 9562. Patch by Bénédikt Tran.
|
||||
- gh-117151: Increase io.DEFAULT_BUFFER_SIZE from 8k to 128k
|
||||
and adjust open() on platforms where os.fstat() provides a
|
||||
st_blksize field (such as Linux) to use max(min(blocksize,
|
||||
8 MiB), io.DEFAULT_BUFFER_SIZE) rather than always
|
||||
using the device block size. This should improve I/O
|
||||
performance. Patch by Romain Morotti.
|
||||
- gh-105499: Make types.UnionType an alias for
|
||||
typing.Union. Both int | str and Union[int, str] now create
|
||||
instances of the same type. Patch by Jelle Zijlstra.
|
||||
- gh-93096: Document the command-line for mimetypes. It now
|
||||
exits with 1 on failure instead of 0 and 2 on incorrect
|
||||
command-line parameters instead of 1. Also, errors are
|
||||
printed to stderr instead of stdout and their text is made
|
||||
tighter. Patch by Oleg Iarygin and Hugo van Kemenade.
|
||||
- Documentation
|
||||
- gh-125722: Require Sphinx 8.2.0 or later to build the
|
||||
Python documentation. Patch by Adam Turner.
|
||||
- gh-129712: The wheel tags supported by each macOS universal
|
||||
SDK option are now documented.
|
||||
- gh-46236: C API: Document PyUnicode_RSplit(),
|
||||
PyUnicode_Partition() and PyUnicode_RPartition().
|
||||
- Core and Builtins
|
||||
- gh-131141: Fix data race in sys.monitoring instrumentation
|
||||
while registering callback.
|
||||
- gh-130804: Fix support of unicode characters on Windows in
|
||||
the new REPL.
|
||||
- gh-130932: Fix incorrect exception handling in
|
||||
_PyModule_IsPossiblyShadowing
|
||||
- gh-122029: sys.setprofile() and sys.settrace() will not
|
||||
generate a c_call event for INSTRUMENTED_CALL_FUNCTION_EX
|
||||
if the callable is a method with a C function wrapped,
|
||||
because we do not generate c_return event in such case.
|
||||
- gh-129964: Fix JIT crash on Windows on Arm. Patch by Diego
|
||||
Russo and Brandt Bucher.
|
||||
- gh-130851: Fix a crash in the free threading build when
|
||||
constructing a code object with co_consts that contains
|
||||
instances of types that are not otherwise generated by the
|
||||
bytecode compiler.
|
||||
- gh-128534: Ensure that both left and right branches have
|
||||
the same source for async for loops. Add these branches to
|
||||
the co_branches() iterator.
|
||||
- gh-130794: Fix memory leak in the free threaded build
|
||||
when resizing a shared list or dictionary from multiple
|
||||
short-lived threads.
|
||||
- gh-130415: Improve JIT understanding of integers in boolean
|
||||
context.
|
||||
- gh-130382: Fix PyRefTracer_DESTROY not being sent from
|
||||
Python/ceval.c Py_DECREF().
|
||||
- gh-130574: Renumber RESUME from 149 to 128.
|
||||
- gh-124878: Fix race conditions during runtime finalization
|
||||
that could lead to accessing freed memory.
|
||||
- gh-130415: Improve the experimental JIT’s ability to narrow
|
||||
boolean values based on the results of truthiness tests.
|
||||
- gh-130618: Fix a bug that was causing UnicodeDecodeError or
|
||||
SystemError to be raised when using f-strings with lambda
|
||||
expressions with non-ASCII characters. Patch by Pablo
|
||||
Galindo
|
||||
- gh-123044: Make sure that the location of branch targets in
|
||||
match cases is in the body, not the pattern.
|
||||
- gh-128534: Add branch monitoring (BRANCH_LEFT and
|
||||
BRANCH_RIGHT events) for async for loops.
|
||||
- gh-130163: Fix possible crashes related to concurrent
|
||||
change and use of the sys module attributes.
|
||||
- gh-122029: INSTRUMENTED_CALL_KW will expand the method
|
||||
before monitoring to reflect the actual behavior more
|
||||
accurately.
|
||||
- gh-130415: Improve JIT’s ability to optimize strings in
|
||||
boolean contexts.
|
||||
- gh-130396: Use actual stack limits (from
|
||||
pthread_getattr_np(3)) for linux, and other systems with
|
||||
_GNU_SOURCE defined, when determining limits for C stack
|
||||
protection.
|
||||
- gh-128396: Fix a crash that occurs when calling locals()
|
||||
inside an inline comprehension that uses the same local
|
||||
variable as the outer frame scope where the variable is a
|
||||
free or cell var.
|
||||
- gh-129107: Fix two more bytearray functions for free
|
||||
threading.
|
||||
- gh-127705: Use tagged references (_PyStackRef) for
|
||||
the default build as well as for the free-threading
|
||||
build. This has a small negative performance impact
|
||||
short-term but will enable larger speedups in the future
|
||||
and signficantly reduce maintenance costs by allowing a
|
||||
single implementation of tagged references in the future.
|
||||
- gh-130094: Fix two race conditions involving concurrent
|
||||
imports that could lead to spurious failures with
|
||||
ModuleNotFoundError.
|
||||
- gh-129107: Make bytearray iterator safe under free
|
||||
threading.
|
||||
- gh-115802: Use the more efficient “medium” code model for
|
||||
JIT-compiled code on supported platforms.
|
||||
- gh-107956: A build-details.json file is now install in the
|
||||
platform-independent standard library directory (PEP 739
|
||||
implementation).
|
||||
- gh-116042: Fix location for SyntaxErrors of invalid escapes
|
||||
in the tokenizer. Patch by Pablo Galindo
|
||||
- gh-91079: Change C stack overflow protection to consider
|
||||
the amount of stack consumed, rather than a counter. This
|
||||
allows deeper recursion in many cases, but remains safe.
|
||||
- gh-129715: Improve the experimental JIT’s handling of
|
||||
returns to unknown callers.
|
||||
- gh-129983: Fix data race in compile_template in sre.c.
|
||||
- gh-129967: Fix a race condition in the free threading build
|
||||
when repr(set) is called concurrently with set.clear().
|
||||
- gh-129953: The internal (evaluation) stack is now spilled
|
||||
to memory whenever execution esacpes from the interpreter
|
||||
or JIT compiled code. This should have no observable effect
|
||||
in either Python or builtin extensions, but will allow
|
||||
various important optimizations in the future.
|
||||
- gh-129515: Clarify syntax error messages for conditional
|
||||
expressions when a statement is specified before an if or
|
||||
after an else keyword.
|
||||
- gh-129349: bytes.fromhex() and bytearray.fromhex() now
|
||||
accepts ASCII bytes and bytes-like objects.
|
||||
- gh-129149: Add fast path for medium-size integers in
|
||||
PyLong_FromSsize_t(). Patch by Chris Eibl.
|
||||
- gh-129107: Make the bytearray safe under free threading.
|
||||
- gh-128974: Fix a crash in UnicodeError.__str__ when custom
|
||||
attributes implement __str__() with side-effects. Patch by
|
||||
Bénédikt Tran.
|
||||
- gh-126085: typing.TypeAliasType now supports star
|
||||
unpacking.
|
||||
- gh-125331: from __future__ import barry_as_FLUFL now works
|
||||
in more contexts, including when it is used in files,
|
||||
with the -c flag, and in the REPL when there are multiple
|
||||
statements on the same line. Previously, it worked only
|
||||
on subsequent lines in the REPL, and when the appropriate
|
||||
flags were passed directly to compile(). Patch by Pablo
|
||||
Galindo.
|
||||
- gh-121464: Make concurrent iterations over the same
|
||||
enumerate() iterator safe under free-threading. See
|
||||
Strategy for Iterators in Free Threading.
|
||||
- gh-87790: Support underscore and comma as thousands
|
||||
separators in the fractional part for floating-point
|
||||
presentation types of the new-style string formatting (with
|
||||
format() or f-strings). Patch by Sergey B Kirpichev.
|
||||
- gh-124445: Fix specialization of generic aliases that are
|
||||
generic over a typing.ParamSpec and have been specialized
|
||||
with a nested type variable.
|
||||
- gh-120608: Adapt reversed() for use in the free-theading
|
||||
build. The reversed() is still not thread-safe in the sense
|
||||
that concurrent iterations may see the same object, but
|
||||
they will not corrupt the interpreter state.
|
||||
- gh-100388: Fix the platform._sys_version() method when
|
||||
__DATE__ is undefined at buildtime by changing default
|
||||
buildtime datetime string to the UNIX epoch.
|
||||
- bpo-44369: Improve syntax errors for incorrectly closed
|
||||
strings. Patch by Pablo Galindo
|
||||
- C API
|
||||
- gh-111178: Fix PyCMethod API: replace size_t nargs with
|
||||
Py_ssize_t nargs in PyCMethod. Patch by Victor Stinner.
|
||||
- gh-130947: Add again PySequence_Fast() to the limited C
|
||||
API. Patch by Victor Stinner.
|
||||
- gh-128863: The following private functions are deprecated
|
||||
and planned for removal in Python 3.18:
|
||||
- _PyUnicodeWriter_Init(): replace
|
||||
_PyUnicodeWriter_Init(&writer) with writer =
|
||||
PyUnicodeWriter_Create(0).
|
||||
- _PyUnicodeWriter_Finish(): replace
|
||||
_PyUnicodeWriter_Finish(&writer) with
|
||||
PyUnicodeWriter_Finish(writer).
|
||||
- _PyUnicodeWriter_Dealloc(): replace
|
||||
_PyUnicodeWriter_Dealloc(&writer) with
|
||||
PyUnicodeWriter_Discard(writer).
|
||||
- _PyUnicodeWriter_WriteChar(): replace
|
||||
_PyUnicodeWriter_WriteChar(&writer, ch) with
|
||||
PyUnicodeWriter_WriteChar(writer, ch).
|
||||
- _PyUnicodeWriter_WriteStr(): replace
|
||||
_PyUnicodeWriter_WriteStr(&writer, str) with
|
||||
PyUnicodeWriter_WriteStr(writer, str).
|
||||
- _PyUnicodeWriter_WriteSubstring(): replace
|
||||
_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)
|
||||
with PyUnicodeWriter_WriteSubstring(writer, str, start,
|
||||
end).
|
||||
- _PyUnicodeWriter_WriteASCIIString(): replace
|
||||
_PyUnicodeWriter_WriteASCIIString(&writer, str) with
|
||||
PyUnicodeWriter_WriteUTF8(writer, str).
|
||||
- _PyUnicodeWriter_WriteLatin1String(): replace
|
||||
_PyUnicodeWriter_WriteLatin1String(&writer, str) with
|
||||
PyUnicodeWriter_WriteUTF8(writer, str).
|
||||
- _PyUnicodeWriter_Prepare(): (no replacement).
|
||||
- _PyUnicodeWriter_PrepareKind(): (no replacement).
|
||||
- The pythoncapi-compat project can be used to get these new
|
||||
public functions on Python 3.13 and older.
|
||||
- Patch by Victor Stinner.
|
||||
- gh-45325: Add a new p format parameter to Py_BuildValue()
|
||||
that allows to take a C integer and produce a Python bool
|
||||
object. Patch by Pablo Galindo.
|
||||
- Build
|
||||
- gh-131035: Use -flto=thin for faster build times using
|
||||
clang-cl on Windows. Patch by Chris Eibl.
|
||||
- gh-130740: Ensure that Python.h is included before
|
||||
stdbool.h unless pyconfig.h is included before or in some
|
||||
platform-specific contexts.
|
||||
- gh-130090: Building with PlatformToolset=ClangCL on Windows
|
||||
now supports PGO (profile guided optimization). Patch by
|
||||
Chris Eibl with invaluable support from Steve Dover.
|
||||
- gh-129819: Allow building the JIT with the tailcall
|
||||
interpreter.
|
||||
- gh-129989: Fix a bug where the tailcall interpreter was
|
||||
enabled when --without-tail-call-interp was provided to the
|
||||
configure script.
|
||||
- gh-129838: Don’t redefine _Py_NO_SANITIZE_UNDEFINED when
|
||||
compiling with a recent GCC version and undefined sanitizer
|
||||
enabled.
|
||||
- gh-82909: #pragma-based linking with python3*.lib can
|
||||
now be switched off with Py_NO_LINK_LIB. Patch by
|
||||
Jean-Christophe Fillion-Robin.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 10 15:44:31 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
|
@@ -60,7 +60,7 @@
|
||||
%bcond_with profileopt
|
||||
%endif
|
||||
|
||||
# No experimental_jit in SLES, there's no clang >=18
|
||||
# No experimental_jit in SLES, there's no clang >=19
|
||||
%if 0%{?suse_version} <= 1600
|
||||
%bcond_with experimental_jit
|
||||
%else
|
||||
@@ -157,8 +157,8 @@
|
||||
# _md5.cpython-38m-x86_64-linux-gnu.so
|
||||
%define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so
|
||||
Name: %{python_pkg_name}%{psuffix}
|
||||
Version: 3.14.0~a5
|
||||
%define tarversion 3.14.0a5
|
||||
Version: 3.14.0~a7
|
||||
%define tarversion 3.14.0a7
|
||||
%define tarname Python-%{tarversion}
|
||||
Release: 0
|
||||
Summary: Python 3 Interpreter
|
||||
@@ -260,7 +260,7 @@ BuildRequires: python3-python-docs-theme >= 2022.1
|
||||
|
||||
%if %{with experimental_jit}
|
||||
# needed for experimental_jit
|
||||
BuildRequires: clang
|
||||
BuildRequires: clang19 llvm19
|
||||
BuildRequires: llvm
|
||||
%endif
|
||||
|
||||
@@ -719,8 +719,8 @@ done
|
||||
for library in \
|
||||
array _asyncio binascii _bisect _bz2 cmath _codecs_* \
|
||||
_contextvars _csv _ctypes _datetime _decimal fcntl grp \
|
||||
_hashlib _heapq _json _lsprof _lzma math mmap _multibytecodec \
|
||||
_multiprocessing _pickle _posixshmem \
|
||||
_hashlib _heapq _hmac _json _lsprof _lzma math mmap \
|
||||
_multibytecodec _multiprocessing _pickle _posixshmem \
|
||||
_posixsubprocess _queue _random resource select _ssl _socket \
|
||||
_statistics _struct syslog termios _testbuffer _testimportmultiple \
|
||||
_testmultiphase unicodedata zlib _ctypes_test _testinternalcapi _testcapi \
|
||||
@@ -1014,6 +1014,8 @@ fi
|
||||
%if %{primary_interpreter}
|
||||
%{_rpmconfigdir}/macros.d/macros.python3
|
||||
%endif
|
||||
# build-details
|
||||
%{_libdir}/python3*/build-details.json
|
||||
|
||||
# binary parts
|
||||
%dir %{sitedir}/lib-dynload
|
||||
@@ -1040,6 +1042,7 @@ fi
|
||||
%{dynlib grp}
|
||||
%{dynlib _hashlib}
|
||||
%{dynlib _heapq}
|
||||
%{dynlib _hmac}
|
||||
%{dynlib _interpchannels}
|
||||
%{dynlib _interpqueues}
|
||||
%{dynlib _interpreters}
|
||||
|
@@ -2,11 +2,11 @@
|
||||
Lib/test/test_capi/test_mem.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: Python-3.13.0a3/Lib/test/test_capi/test_mem.py
|
||||
Index: Python-3.14.0a7/Lib/test/test_capi/test_mem.py
|
||||
===================================================================
|
||||
--- Python-3.13.0a3.orig/Lib/test/test_capi/test_mem.py
|
||||
+++ Python-3.13.0a3/Lib/test/test_capi/test_mem.py
|
||||
@@ -109,6 +109,7 @@ class PyMemDebugTests(unittest.TestCase)
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_capi/test_mem.py 2025-04-12 23:55:23.949981777 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_capi/test_mem.py 2025-04-12 23:58:00.502480186 +0200
|
||||
@@ -114,6 +114,7 @@
|
||||
def test_pyobject_forbidden_bytes_is_freed(self):
|
||||
self.check_pyobject_is_freed('check_pyobject_forbidden_bytes_is_freed')
|
||||
|
||||
|
@@ -1,16 +1,21 @@
|
||||
---
|
||||
Lib/test/test_subprocess.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
Lib/test/test_subprocess.py | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/Lib/test/test_subprocess.py
|
||||
+++ b/Lib/test/test_subprocess.py
|
||||
@@ -281,7 +281,8 @@ class ProcessTestCase(BaseTestCase):
|
||||
"time.sleep(3600)"],
|
||||
# Some heavily loaded buildbots (sparc Debian 3.x) require
|
||||
# this much time to start and print.
|
||||
- timeout=3)
|
||||
+ # OBS might require even more
|
||||
+ timeout=10)
|
||||
self.fail("Expected TimeoutExpired.")
|
||||
self.assertEqual(c.exception.output, b'BDFL')
|
||||
Index: Python-3.14.0a7/Lib/test/test_subprocess.py
|
||||
===================================================================
|
||||
--- Python-3.14.0a7.orig/Lib/test/test_subprocess.py 2025-04-12 23:55:25.222319332 +0200
|
||||
+++ Python-3.14.0a7/Lib/test/test_subprocess.py 2025-04-12 23:56:40.450491892 +0200
|
||||
@@ -156,7 +156,11 @@
|
||||
# child.
|
||||
self.assertRaises(subprocess.TimeoutExpired, subprocess.call,
|
||||
[sys.executable, "-c", "while True: pass"],
|
||||
- timeout=0.1)
|
||||
+ # Some heavily loaded buildbots (sparc Debian 3.x) require
|
||||
+ # this much time to start and print.
|
||||
+ # timeout=3)
|
||||
+ # OBS might require even more
|
||||
+ timeout=10)
|
||||
|
||||
def test_check_call_zero(self):
|
||||
# check_call() function with zero return code
|
||||
|
Reference in New Issue
Block a user