diff --git a/F00251-change-user-install-location.patch b/F00251-change-user-install-location.patch index c0efc98..73eca58 100644 --- a/F00251-change-user-install-location.patch +++ b/F00251-change-user-install-location.patch @@ -28,10 +28,10 @@ Co-authored-by: Lumír Balhar Lib/test/test_sysconfig.py | 17 +++++++++++++-- 2 files changed, 65 insertions(+), 3 deletions(-) -Index: Python-3.14.0a7/Lib/sysconfig/__init__.py +Index: Python-3.14.0b1/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 +--- Python-3.14.0b1.orig/Lib/sysconfig/__init__.py 2025-05-09 10:36:06.529281834 +0200 ++++ Python-3.14.0b1/Lib/sysconfig/__init__.py 2025-05-09 10:36:13.125444450 +0200 @@ -106,6 +106,11 @@ else: _INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv'] @@ -115,11 +115,11 @@ Index: Python-3.14.0a7/Lib/sysconfig/__init__.py if os.name == 'nt': # On Windows we want to substitute 'lib' for schemes rather # than the native value (without modifying vars, in case it -Index: Python-3.14.0a7/Lib/test/test_sysconfig.py +Index: Python-3.14.0b1/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 @@ +--- Python-3.14.0b1.orig/Lib/test/test_sysconfig.py 2025-05-09 10:36:08.169776377 +0200 ++++ Python-3.14.0b1/Lib/test/test_sysconfig.py 2025-05-09 10:36:13.125842689 +0200 +@@ -132,8 +132,19 @@ for scheme in _INSTALL_SCHEMES: for name in _INSTALL_SCHEMES[scheme]: expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars) @@ -140,7 +140,7 @@ Index: Python-3.14.0a7/Lib/test/test_sysconfig.py os.path.normpath(expected), ) -@@ -387,7 +398,7 @@ +@@ -388,7 +399,7 @@ self.assertTrue(os.path.isfile(config_h), config_h) def test_get_scheme_names(self): @@ -149,7 +149,7 @@ Index: Python-3.14.0a7/Lib/test/test_sysconfig.py if HAS_USER_BASE: wanted.extend(['nt_user', 'osx_framework_user', 'posix_user']) self.assertEqual(get_scheme_names(), tuple(sorted(wanted))) -@@ -399,6 +410,8 @@ +@@ -400,6 +411,8 @@ cmd = "-c", "import sysconfig; print(sysconfig.get_platform())" self.assertEqual(py.call_real(*cmd), py.call_link(*cmd)) diff --git a/Python-3.14.0a7.tar.xz b/Python-3.14.0a7.tar.xz deleted file mode 100644 index cd37618..0000000 --- a/Python-3.14.0a7.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71adbcec3ac9edf93308e55cfb4184f2eb4b16fda2bb0a5a382929ed29c8386d -size 23015952 diff --git a/Python-3.14.0a7.tar.xz.sigstore b/Python-3.14.0a7.tar.xz.sigstore deleted file mode 100644 index db0b133..0000000 --- a/Python-3.14.0a7.tar.xz.sigstore +++ /dev/null @@ -1 +0,0 @@ -{"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="}} diff --git a/Python-3.14.0b1.tar.xz b/Python-3.14.0b1.tar.xz new file mode 100644 index 0000000..06eecfa --- /dev/null +++ b/Python-3.14.0b1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ddd30a77c9f62e065ce648664a254b9b0c011bcdaa8c1c2787087e644cbeb39 +size 23358200 diff --git a/Python-3.14.0b1.tar.xz.sigstore b/Python-3.14.0b1.tar.xz.sigstore new file mode 100644 index 0000000..980ba6b --- /dev/null +++ b/Python-3.14.0b1.tar.xz.sigstore @@ -0,0 +1 @@ +{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIICzTCCAlSgAwIBAgIULIy4li9CnyoD5VMYqVRBX2xhl6YwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUwNTA3MTYwMzMzWhcNMjUwNTA3MTYxMzMzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0JmJhID7cDpz+w6ZeMYNR449Q09ObTq/rJoA8ZEElRyZ3PMOtxR2ddPssyVyssw08b+petEPGdB0JJPO3WEnlKOCAXMwggFvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUGQo//6O9UwWERnXDGRKGEoQUbu0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABlqt88AUAAAQDAEcwRQIhAInVh3hc5tWxnOQJ5h7UJrc5APbRKH8LJqAxkOV+WKm0AiBGJm7a5cYa/zbL5Luuv9tjz8KHnWbROq6oKklEHKGvZjAKBggqhkjOPQQDAwNnADBkAjBtvTe9/f6rAve+EkBvvIop4WNK5iMcokC8IgzjxL6wriEBnFYdWYSwK7VBR2cH/ZECMAyKRlLPH9eUprwyKQUdRlTo0Yy8vrHwvnPCYDSy3haOb6o63L6aBc3a3+ZFL3JN8w=="}, "tlogEntries": [{"logIndex": "207983201", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1746633814", "inclusionPromise": {"signedEntryTimestamp": "MEYCIQDJuNzTYOUa0MGipv/REIMeMqMDDKZD7kC7VFMz9Ti4MQIhAI80PJYQgmc4IVvjyaOuoII3FWAcpXMAFxDwWIuK9cCW"}, "inclusionProof": {"logIndex": "86078939", "rootHash": "w3YK957NYJEEdmCkJePI4YPkL/m/o3MzbbnwWWhs7GA=", "treeSize": "86078940", "hashes": ["CBhgCT1rFez/Jf74ZwQ61/iJi+GdFNlGCXP8UBJxoB4=", "DpoDp5RYO3Q9T5lacpgLmaHF2bn+FkquEGFozf+sp1Q=", "2TglKxclAzNtphRi2WpqJF5uopsc4Iuu9Z71MpI9v4o=", "RPllLfj9XtJJgiVxHlAL6ebrSaxG+KeQXTLR4Cm8XQo=", "pf8d3Uj/L5VdDspWOfvrpwpDewiwud0CgEhkiG5MKkQ=", "kxK8IY0R+juQTVgVA5V+1SBt2dxu46s7J69sMRfNyn4=", "cjIv9wp+qUQ2SskcyJj01uOcSf/AthrVrFWD3YRhRFA=", "JOXEdAzR1hHM95VAQqRSOvJ7fA/w50P0X9a/WzIuhdc=", "YkX6Zh7rNaOAk3CNse8gzKpbsS+KDU79Fw1cGoFJILE=", "tvDDknRU/Rmet2xJVgoUiHqZA5/dG20d2t0zsoSIpRw=", "1SRCIie0eK46oBmaYPSw8Zuo3poDMoEhwGV+1UGlkGo=", "fZPSgZk/M4toaT6mV3CvNCRz647SBlRiOzrdRNQw70A=", "ZFYJDX8rdSh0CP8oZVy/Ik2B+hMkbZEF46EgoAFxDZ4=", "++1LMuz3tIdW1/pfEfhPfXC4ot1AwDAXDcPyfibzGyc=", "7v8qPHNDLerpduaMx06eb/MwgoQwczTn/cYGKX/9wZ4="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n86078940\nw3YK957NYJEEdmCkJePI4YPkL/m/o3MzbbnwWWhs7GA=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiBFm3XirGA9d16WEyelP3qBi1diHR2aD6H/1qfpU/GKjQIhAMuUjS7iJZNNLMp1Aj8gzrI8IfIGPzpzjW5wdOsYQuPY\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIyZGRkMzBhNzdjOWY2MmUwNjVjZTY0ODY2NGEyNTRiOWIwYzAxMWJjZGFhOGMxYzI3ODcwODdlNjQ0Y2JlYjM5In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUMyV2hQWE9HY2FkVmk5a0lYUWIyMVBJYTJDcWIvOVJvVzhTRHNBUnA2cGhBSWhBUDJNeGxoNERBY0gyalRBRXYvK0dmM3dySkRWZXBBZlJuSytTSmxyU21DbyIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTjZWRU5EUVd4VFowRjNTVUpCWjBsVlRFbDVOR3hwT1VOdWVXOUVOVlpOV1hGV1VrSllNbmhvYkRaWmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFZkMDVVUVROTlZGbDNUWHBOZWxkb1kwNU5hbFYzVGxSQk0wMVVXWGhOZWsxNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVV3U20xS2FFbEVOMk5FY0hvcmR6WmFaVTFaVGxJME5EbFJNRGxQWWxSeEwzSktiMEVLT0ZwRlJXeFNlVm96VUUxUGRIaFNNbVJrVUhOemVWWjVjM04zTURoaUszQmxkRVZRUjJSQ01FcEtVRTh6VjBWdWJFdFBRMEZZVFhkblowWjJUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZIVVc4dkNpODJUemxWZDFkRlVtNVlSRWRTUzBkRmIxRlZZblV3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRU5DYVdkWlMwdDNXVUpDUVVoWFpWRkpSVUZuVWpnS1FraHZRV1ZCUWpKQlRqQTVUVWR5UjNoNFJYbFplR3RsU0Vwc2JrNTNTMmxUYkRZME0ycDVkQzgwWlV0amIwRjJTMlUyVDBGQlFVSnNjWFE0T0VGVlFRcEJRVkZFUVVWamQxSlJTV2hCU1c1V2FETm9ZelYwVjNodVQxRktOV2czVlVweVl6VkJVR0pTUzBnNFRFcHhRWGhyVDFZclYwdHRNRUZwUWtkS2JUZGhDalZqV1dFdmVtSk1OVXgxZFhZNWRHcDZPRXRJYmxkaVVrOXhObTlMYTJ4RlNFdEhkbHBxUVV0Q1oyZHhhR3RxVDFCUlVVUkJkMDV1UVVSQ2EwRnFRblFLZGxSbE9TOW1ObkpCZG1VclJXdENkblpKYjNBMFYwNUxOV2xOWTI5clF6aEpaM3BxZUV3MmQzSnBSVUp1Umxsa1YxbFRkMHMzVmtKU01tTklMMXBGUXdwTlFYbExVbXhNVUVnNVpWVndjbmQ1UzFGVlpGSnNWRzh3V1hrNGRuSklkM1p1VUVOWlJGTjVNMmhoVDJJMmJ6WXpURFpoUW1NellUTXJXa1pNTTBwT0NqaDNQVDBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}]}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "Ld0wp3yfYuBlzmSGZKJUubDAEbzaqMHCeHCH5kTL6zk="}, "signature": "MEYCIQC2WhPXOGcadVi9kIXQb21PIa2Cqb/9RoW8SDsARp6phAIhAP2Mxlh4DAcH2jTAEv/+Gf3wrJDVepAfRnK+SJlrSmCo"}} diff --git a/bpo-31046_ensurepip_honours_prefix.patch b/bpo-31046_ensurepip_honours_prefix.patch index 9c85757..39b4c2c 100644 --- a/bpo-31046_ensurepip_honours_prefix.patch +++ b/bpo-31046_ensurepip_honours_prefix.patch @@ -13,10 +13,10 @@ Co-Authored-By: Xavier de Gaye 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 -Index: Python-3.14.0a7/Doc/library/ensurepip.rst +Index: Python-3.14.0b1/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 +--- Python-3.14.0b1.orig/Doc/library/ensurepip.rst 2025-05-06 17:33:52.000000000 +0200 ++++ Python-3.14.0b1/Doc/library/ensurepip.rst 2025-05-09 10:36:23.988020340 +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 @@ -57,10 +57,10 @@ Index: Python-3.14.0a7/Doc/library/ensurepip.rst .. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap .. note:: -Index: Python-3.14.0a7/Lib/ensurepip/__init__.py +Index: Python-3.14.0b1/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 +--- Python-3.14.0b1.orig/Lib/ensurepip/__init__.py 2025-05-09 10:36:06.012023154 +0200 ++++ Python-3.14.0b1/Lib/ensurepip/__init__.py 2025-05-09 10:36:23.988419430 +0200 @@ -106,27 +106,27 @@ os.environ['PIP_CONFIG_FILE'] = os.devnull @@ -123,10 +123,10 @@ Index: Python-3.14.0a7/Lib/ensurepip/__init__.py upgrade=args.upgrade, user=args.user, verbosity=args.verbosity, -Index: Python-3.14.0a7/Lib/test/test_ensurepip.py +Index: Python-3.14.0b1/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 +--- Python-3.14.0b1.orig/Lib/test/test_ensurepip.py 2025-05-09 10:36:07.299689896 +0200 ++++ Python-3.14.0b1/Lib/test/test_ensurepip.py 2025-05-09 10:36:23.988614417 +0200 @@ -100,6 +100,17 @@ unittest.mock.ANY, ) @@ -145,11 +145,11 @@ Index: Python-3.14.0a7/Lib/test/test_ensurepip.py def test_bootstrapping_with_user(self): ensurepip.bootstrap(user=True) -Index: Python-3.14.0a7/Makefile.pre.in +Index: Python-3.14.0b1/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 @@ +--- Python-3.14.0b1.orig/Makefile.pre.in 2025-05-09 10:36:18.686043460 +0200 ++++ Python-3.14.0b1/Makefile.pre.in 2025-05-09 10:36:23.989614417 +0200 +@@ -2337,7 +2337,7 @@ install|*) ensurepip="" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -158,7 +158,7 @@ Index: Python-3.14.0a7/Makefile.pre.in fi .PHONY: altinstall -@@ -2333,7 +2333,7 @@ +@@ -2348,7 +2348,7 @@ install|*) ensurepip="--altinstall" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -167,9 +167,9 @@ Index: Python-3.14.0a7/Makefile.pre.in fi .PHONY: commoninstall -Index: Python-3.14.0a7/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst +Index: Python-3.14.0b1/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 ++++ Python-3.14.0b1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 2025-05-09 10:36:23.990105239 +0200 @@ -0,0 +1 @@ +A directory prefix can now be specified when using :mod:`ensurepip`. diff --git a/python-3.3.0b1-fix_date_time_compiler.patch b/python-3.3.0b1-fix_date_time_compiler.patch index 086d65e..e76abdb 100644 --- a/python-3.3.0b1-fix_date_time_compiler.patch +++ b/python-3.3.0b1-fix_date_time_compiler.patch @@ -2,11 +2,11 @@ Makefile.pre.in | 7 +++++++ 1 file changed, 7 insertions(+) -Index: Python-3.14.0a7/Makefile.pre.in +Index: Python-3.14.0b1/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 @@ +--- Python-3.14.0b1.orig/Makefile.pre.in 2025-05-06 17:33:52.000000000 +0200 ++++ Python-3.14.0b1/Makefile.pre.in 2025-05-09 10:36:18.686043460 +0200 +@@ -1869,11 +1869,18 @@ $(DTRACE_OBJS) \ $(srcdir)/Modules/getbuildinfo.c $(CC) -c $(PY_CORE_CFLAGS) \ diff --git a/python-3.3.0b1-test-posix_fadvise.patch b/python-3.3.0b1-test-posix_fadvise.patch deleted file mode 100644 index 0a6b091..0000000 --- a/python-3.3.0b1-test-posix_fadvise.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - Lib/test/test_posix.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Lib/test/test_posix.py -+++ b/Lib/test/test_posix.py -@@ -437,7 +437,7 @@ class PosixTester(unittest.TestCase): - def test_posix_fadvise(self): - fd = os.open(os_helper.TESTFN, os.O_RDONLY) - try: -- posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_WILLNEED) -+ posix.posix_fadvise(fd, 0, 0, posix.POSIX_FADV_RANDOM) - finally: - os.close(fd) - diff --git a/python314.changes b/python314.changes index a113e78..ecd5055 100644 --- a/python314.changes +++ b/python314.changes @@ -1,3 +1,630 @@ +------------------------------------------------------------------- +Fri May 9 08:36:50 UTC 2025 - Matej Cepl + +- Update to 3.14.0~b1: + - Tools/Demos + - gh-130453: Allow passing multiple keyword arguments with + the same function name in pygettext. + - gh-130195: Add warning messages when pygettext + unimplemented -a/--extract-all option is called. + - Tests + - gh-133131: The iOS testbed will now select the most + recently released “SE-class” device for testing if a device + isn’t explicitly specified. + - gh-91048: Add ability to externally inspect all pending + asyncio tasks, even if no task is currently entered on the + event loop. + - gh-109981: The test helper that counts the list of open + file descriptors now uses the optimised /dev/fd approach on + all Apple platforms, not just macOS. This avoids crashes + caused by guarded file descriptors. + - gh-132678: Add --prioritize to -m test. This option allows + the user to specify which selected tests should execute + first, even if the order is otherwise randomized. This is + particularly useful for tests that run the longest. + - gh-131290: Tests in Lib/test can now be correctly executed + as standalone scripts. + - Security + - gh-115322: The underlying extension modules behind + readline:, subprocess, and ctypes now raise audit events + on previously uncovered code paths that could lead to file + system access related to C function calling and external + binary execution. The ctypes.call_function audit hook has + also been fixed to use an unsigned value for its function + pointer. + - Library + - gh-133490: Add color support to PDB in remote mode. + - gh-132493: Avoid eagerly evaluating annotations in + functions decorated with reprlib.recursive_repr(). + - gh-130645: Add color to stdlib argparse CLIs. Patch by Hugo + van Kemenade. + - gh-119180: Make annotationlib.get_annotations() succeed + with the FORWARDREF format if evaluating the annotations + throws an exception other than NameError or AttributeError. + - gh-133351: Fix remote PDB to correctly request tab + completions for Python expressions from the server when + completing a continuation line of a multi-line Python + block. + - gh-133367: Add the --feature-version, --optimize, + and --show-empty options to the ast command-line + interface. Patch by Semyon Moroz. + - gh-133363: The cmd.Cmd class has been fixed to reliably + call the completedefault method whenever the do_shell + method is not defined and tab completion is requested for a + line beginning with !. + - gh-113081: Highlight syntax on source code in pdb. + - gh-133349: Introduced auto-indent in pdb multi-line input. + - gh-133306: Use \z instead of \Z in fnmatch.translate() and + glob.translate(). + - gh-133306: Support \z as a synonym for \Z in regular + expressions. + - gh-133300: Make argparse.ArgumentParser’s suggest_on_error + a keyword-only parameter. Patch by Hugo van Kemenade. + - gh-133290: Fix attribute caching issue when setting + ctypes._Pointer._type_ in the undocumented and deprecated + ctypes.SetPointerType() function and the undocumented + set_type() method. + - gh-133223: When PDB is attached to a remote process, do a + better job of intercepting Ctrl+C and forwarding it to the + remote process. + - gh-133153: Do not complete pdb commands in interact mode of + pdb. + - gh-133139: Add the curses.assume_default_colors() function, + a refinement of the curses.use_default_colors() function + which allows to change the color pair 0. + - gh-133089: Use original timeout value for + subprocess.TimeoutExpired when the func subprocess.run() + is called with a timeout instead of sometimes a confusing + partial remaining time out value used internally on the + final wait(). + - gh-133036: codecs.open() is now deprecated. Use open() + instead. Contributed by Inada Naoki. + - gh-132987: Many builtin and extension functions which + accept an unsigned integer argument, now use __index__() if + available. + - gh-124703: Set return code to 1 when aborting process from + pdb. + - gh-133005: Support passing preset option to tarfile.open() + when using 'w|xz' mode. + - gh-115032: Support for custom logging handlers with the + strm argument is deprecated and scheduled for removal in + Python 3.16. Define handlers with the stream argument + instead. Patch by Mariusz Felisiak. + - gh-132991: Add socket.IP_FREEBIND constant on Linux 2.4 and + later. + - gh-132995: Bump the version of pip bundled in ensurepip to + version 25.1.1 + - gh-132933: The zipapp module now applies the filter when + creating the list of files to add, rather than waiting + until the file is being added to the archive. + - gh-121249: Always support the float complex and double + complex C types in the struct module. Patch by Sergey B + Kirpichev. + - gh-132915: fcntl.fcntl() and fcntl.ioctl() can now detect + a buffer overflow and raise SystemError. The stack and + memory can be corrupted in such case, so treat this error + as fatal. + - gh-132017: Fix error when pyrepl is suspended, then resumed + and terminated. + - gh-132893: Improved statistics.NormalDist.cdf() accuracy + for inputs smaller than the mean. + - gh-130328: Speedup pasting in PyREPL on Windows. Fix by + Chris Eibl. + - gh-132882: Fix copying of typing.Union objects containing + objects that do not support the | operator. + - gh-93696: Fixed the breakpoint display error for frozen + modules in pdb. + - gh-129965: Add MIME types for .7z, .apk, .deb, .glb, .gltf, + .gz, .m4v, .php, .rar, .rpm, .stl and .wmv. Patch by Hugo + van Kemenade. + - gh-132742: fcntl.fcntl() now supports arbitrary bytes-like + objects, not only bytes. fcntl.ioctl() now automatically + retries system calls failing with EINTR and releases the + GIL during a system call even for large bytes-like object. + - gh-132451: The CLI for the PDB debugger now accepts a -p + PID argument to allow attaching to a running process. The + process must be running the same version of Python as the + one running PDB. + - gh-125618: Add a format parameter to + annotationlib.ForwardRef.evaluate(). Evaluating annotations + in the FORWARDREF format now succeeds in more cases that + would previously have raised an exception. + - gh-132805: Fix incorrect handling of nested non-constant + values in the FORWARDREF format in annotationlib. + - gh-132734: Add new constants for Bluetooth sockets. + - gh-132673: Fix AssertionError raised on ctypes.Structure + with _align_ = 0 and _fields_ = []. + - gh-132578: Rename the threading.Thread._handle field + to avoid shadowing methods defined on subclasses of + threading.Thread. + - gh-132561: Fix the public locked method of + multiprocessing.SemLock class. Also adding 2 tests for the + derivated multiprocessing.Lock and multiprocessing.RLock + classes. + - gh-121468: Add pdb.set_trace_async() function to support + await statements in pdb. + - gh-132493: typing.Protocol now uses + annotationlib.get_annotations() when checking whether + or not an instance implements the protocol with + isinstance(). This enables support for isinstance checks + against classes with deferred annotations. + - gh-132536: Do not disable PY_THROW event in bdb because it + can’t be disabled. + - gh-132527: Include the valid typecode ‘w’ in the error + message when an invalid typecode is passed to array.array. + - gh-132099: The Bluetooth socket with the BTPROTO_HCI + protocol on Linux now accepts an address in the format of + an integer device_id, not only a tuple (device_id,). + - gh-81793: Fix os.link() on platforms (like Linux) + where the system link() function does not follow + symlinks. On Linux, it now follows symlinks by default + or if follow_symlinks=True is specified. On Windows, it + now raises an error if follow_symlinks=True is passed. On + macOS, it now raises an error if follow_symlinks=False is + passed and the system linkat() function is not available at + runtime. + - gh-132493: Support creation of typing.Protocol classes with + annotations that cannot be resolved at class creation time. + - gh-132491: Rename annotationlib.value_to_string to + annotationlib.type_repr() and provide better handling for + function objects. + - gh-132426: Add + annotationlib.get_annotate_from_class_namespace() as a + helper for accessing annotations in metaclasses, and remove + annotationlib.get_annotate_function. + - gh-70145: Add support for channels in Bluetooth HCI + protocol (BTPROTO_HCI). + - gh-131913: Add a shortcut function + multiprocessing.Process.interrupt() alongside the + existing multiprocessing.Process.terminate() and + multiprocessing.Process.kill() for an improved control over + child process termination. + - gh-132439: Fix PyREPL on Windows: characters entered via + AltGr are swallowed. Patch by Chris Eibl. + - gh-132429: Fix support of Bluetooth sockets on NetBSD + and DragonFly BSD. Add support for cid and bdaddr_type + in the BTPROTO_L2CAP address on FreeBSD. Return cid in + getsockname() for BTPROTO_L2CAP if it is not zero. + - gh-132106: QueueListener.start now raises a RuntimeError if + the listener is already started. + - gh-132417: Fix a NULL pointer dereference when a C function + called using ctypes with restype py_object returns NULL. + - gh-132385: Fix instance error suggestions trigger potential + exceptions in object.__getattr__() in traceback. + - gh-125866: Add optional add_scheme argument to + urllib.request.pathname2url(); when set to true, a complete + URL is returned. Likewise add optional require_scheme + argument to url2pathname(); when set to true, a complete + URL is accepted. + - gh-132308: A traceback.TracebackException now correctly + renders the __context__ and __cause__ attributes from + falsey Exception, and the exceptions attribute from falsey + ExceptionGroup. + - gh-130645: Add colour to argparse help output. Patch by + Hugo van Kemenade. + - gh-127495: In PyREPL, append a new entry to the + PYTHON_HISTORY file after every statement. This should + preserve command-line history after interpreter is + terminated. Patch by Sergey B Kirpichev. + - gh-129463: Comparison of annotationlib.ForwardRef objects + no longer uses the internal __code__ and __ast_node__ + attributes, which are used as caches. + - gh-132250: Fixed the SystemError in cProfile when locating + the actual C function of a method raises an exception. + - gh-132064: annotationlib.get_annotations() now uses + the __annotate__ attribute if it is present, even if + __annotations__ is not present. Additionally, the function + now raises a TypeError if it is passed an object that does + not have any annotatins. + - gh-130664: Support the '_' digit separator in formatting + of the integral part of Decimal’s. Patch by Sergey B + Kirpichev. + - gh-131952: Add color output to the json CLI. Patch by Tomas + Roun. + - gh-132063: Prevent exceptions that evaluate as + falsey (namely, when their __bool__ method returns + False or their __len__ method returns 0) from being + ignored by concurrent.futures.ProcessPoolExecutor and + concurrent.futures.ThreadPoolExecutor. + - gh-132106: logging.handlers.QueueListener now implements + the context manager protocol, allowing it to be used in a + with statement. + - gh-132054: The application/yaml mime type (RFC 9512) is now + supported by mimetypes. Patch by Sasha “Nelie” Chernykh and + Hugo van Kemenade. + - gh-119605: Respect follow_wrapped for __init__() and + __new__() methods when getting the class signature for a + class with inspect.signature(). Preserve class signature + after wrapping with warnings.deprecated(). Patch by Xuehai + Pan. + - gh-118761: Improve import times by up to 33x for the shlex + module, and improve the performance of shlex.quote() by up + to 12x. Patch by Adam Turner. + - gh-85302: Add support for BTPROTO_SCO in sockets on + FreeBSD. + - gh-131757: Make functools.lru_cache() call the cached + function unlocked to allow concurrency. + - gh-131423: ssl can show descriptions for errors added in + OpenSSL 3.4.1. Patch by Bénédikt Tran. + - gh-131434: Improve error reporting for incorrect format in + time.strptime(). + - gh-131524: Add help message to platform command-line + interface. Contributed by Harry Lees. + - gh-100926: Move ctypes.POINTER() types cache from + a global internal cache (_pointer_type_cache) to + the ctypes._CData.__pointer_type__ attribute of the + corresponding ctypes types. This will stop the cache from + growing without limits in some situations. + - gh-85702: If zoneinfo._common.load_tzdata is given a + package without a resource a ZoneInfoNotFoundError is + raised rather than a IsADirectoryError. + - gh-123471: Make concurrent iterations over itertools.repeat + safe under free-threading. + - gh-131127: Systems using LibreSSL now successfully build. + - gh-89157: Make the pure Python implementation of + datetime.date.fromisoformat(), only accept ASCII strings + for consistency with the C implementation. + - gh-130941: Fix configparser.ConfigParser parsing empty + interpolation with allow_no_value set to True. + - gh-110067: Make heapq max-heap functions + heapq.heapify_max(), heapq.heappush_max(), + heapq.heappop_max(), and heapq.heapreplace_max() + public. Previous underscored naming is kept for backwards + compatibility. Additionally, the missing function + heapq.heappushpop_max() has been added to both the C and + Python implementations. + - gh-129098: Fix REPL traceback reporting when using + compile() with an inexisting file. Patch by Bénédikt Tran. + - gh-130631: http.cookiejar.join_header_words() is now more + similar to the original Perl version. It now quotes the + same set of characters and always quote values that end + with "\n". + - gh-130482: Add ability to specify name for + tkinter.OptionMenu and tkinter.ttk.OptionMenu. + - gh-77065: Add keyword-only optional argument echo_char for + getpass.getpass() for optional visual keyboard feedback + support. Patch by Semyon Moroz. + - gh-130317: Fix PyFloat_Pack2() and PyFloat_Unpack2() + for NaN’s with payload. This corrects round-trip for + struct.unpack() and struct.pack() in case of the IEEE + 754 binary16 “half precision” type. Patch by Sergey B + Kirpichev. + - gh-130402: Joining running daemon threads during + interpreter shutdown now raises PythonFinalizationError. + - gh-130167: Improve speed of difflib.IS_LINE_JUNK(). Patch + by Semyon Moroz. + - gh-101410: Added more detailed messages for domain errors + in the math module. + - gh-128384: Make warnings.catch_warnings use a context + variable for holding the warning filtering state if + the sys.flags.context_aware_warnings flag is set to + true. This makes using the context manager thread-safe + in multi-threaded programs. The flag is true by default + in free-threaded builds and is otherwise false. The + value of the flag can be overridden by the the -X + context_aware_warnings command-line option or by the + PYTHON_CONTEXT_AWARE_WARNINGS environment variable. + - gh-129719: Fix missing socket.CAN_RAW_ERR_FILTER constant + in the socket module on Linux systems. It was missing since + Python 3.11. + - gh-129027: Raise DeprecationWarning for + sys._clear_type_cache(). This function was deprecated in + Python 3.13 but it didn’t raise a runtime warning. + - gh-128307: Add eager_start keyword argument to + asyncio.loop.create_task() + - gh-127604: Add support for printing the C stack trace on + systems that support it via faulthandler.dump_c_stack() or + via the c_stack argument in faulthandler.enable(). + - gh-127385: Add the F_DUPFD_QUERY constant to the fcntl + module. + - gh-126838: Add resolve_host keyword-only parameter to + urllib.request.url2pathname(), and fix handling of file + URLs with authorities. + - gh-82129: Fix NameError when calling + typing.get_type_hints() on a dataclasses.dataclass() + created by dataclasses.make_dataclass() with un-annotated + fields. + - gh-122559: Remove __reduce__() and __reduce_ex__() methods + that always raise TypeError in the C implementation + of io.FileIO, io.BufferedReader, io.BufferedWriter + and io.BufferedRandom and replace them with default + __getstate__() methods that raise TypeError. This restores + fine details of behavior of Python 3.11 and older versions. + - gh-122179: hashlib.file_digest() now raises BlockingIOError + when no data is available during non-blocking I/O. Before, + it added spurious null bytes to the digest. + - gh-53032: Expose decimal.IEEEContext() to support creation + of contexts corresponding to the IEEE 754 (2008) decimal + interchange formats. Patch by Sergey B Kirpichev. + - gh-120220: Deprecate the tkinter.Variable + methods trace_variable(), trace_vdelete() and + trace_vinfo(). Methods trace_add(), trace_remove() and + trace_info() can be used instead. + - gh-113539: webbrowser: Names in the BROWSER environment + variable can now refer to already registered web browsers, + instead of always generating a new browser command. + This makes it possible to set BROWSER to the value of one + of the supported browsers on macOS. + - bpo-44172: Keep a reference to original curses windows in + subwindows so that the original window does not get deleted + before subwindows. + - gh-75223: Deprecate undotted extensions in + mimetypes.MimeTypes.add_type(). Patch by Hugo van Kemenade. + - IDLE + - gh-112936: fix IDLE: no Shell menu item in single-process + mode. + - Documentation + - gh-107006: Move documentation and example code for + threading.local from its docstring to the official docs. + - gh-125142: As part of the builtin help intro text, show the + keyboard shortcuts for the new, non-basic REPL (F1, F2, and + F3). + - Core and Builtins + - gh-133336: -J is no longer reserved for use by + Jython. Patch by Adam Turner. + - gh-133261: Fix bug where the cycle GC could untrack + objects in the trashcan because they looked like they were + immortal. When objects are added to the trashcan, we take + care to ensure they keep a mortal reference count. + - gh-133346: Added experimental color theming support to the + _colorize module. + - gh-132917: For the free-threaded build, check the process + memory usage increase before triggering a full automatic + garbage collection. If the memory used has not increased + 10% since the last collection then defer it. + - gh-91048: Add a new python -m asyncio ps PID command-line + interface to inspect asyncio tasks in a running Python + process. Displays a flat table of await relationships. A + variant showing a tree view is also available as python -m + asyncio pstree PID. Both are useful for debugging async + code. Patch by Pablo Galindo, Łukasz Langa, Yury Selivanov, + and Marta Gomez Macias. + - gh-133304: Workaround NaN’s “canonicalization” in + PyFloat_Pack4() and PyFloat_Unpack4() on RISC-V. + - gh-133197: Improve SyntaxError error messages for + incompatible string / bytes prefixes. + - gh-133231: Add new utilities of observing JIT compilation: + sys._jit.is_available(), sys._jit.is_enabled(), and + sys._jit.is_active(). + - gh-133194: ast.parse() will no longer parse new PEP 758 + syntax with older feature_version passed. + - gh-131798: Split CALL_LEN into several uops allowing the + JIT to remove them when optimizing. Patch by Diego Russo. + - gh-131798: Use sym_new_type instead of sym_new_not_null for + _BUILD_STRING, _BUILD_SET + - gh-132942: Fix two races in the type lookup cache. This + affected the free-threaded build and could cause crashes + (apparently quite difficult to trigger). + - gh-131798: Propagate the return type of + _BINARY_OP_SUBSCR_TUPLE_INT in JIT. Patch by Tomas Roun + - gh-132952: Speed up startup with the -S argument by + importing the private _io module instead of io. This fixes + a performance regression introduced earlier in Python 3.14 + development and restores performance to the level of Python + 3.13. + - gh-131798: Allow the JIT to remove int guards after + _CALL_LEN by setting the return type to int. Patch by Diego + Russo + - gh-131798: Split CALL_TUPLE_1 into several uops allowing + the JIT to remove some of them. Patch by Tomas Roun + - gh-131798: Split CALL_STR_1 into several uops allowing the + JIT to remove some of them. Patch by Tomas Roun + - gh-132825: Enhance unhashable key/element error messages + for dict and set. Patch by Victor Stinner. + - gh-131591: Reset any PEP 768 remote debugging pending call + in children after os.fork() calls. + - gh-132713: Fix repr(list) race condition: hold a strong + reference to the item while calling repr(item). Patch by + Victor Stinner. + - gh-132661: Implement PEP 750 (Template Strings). Add + new syntax for t-strings and implement new + internal string.templatelib.Template and + string.templatelib.Interpolation types. + - gh-132479: Fix compiler crash in certain circumstances + where multiple module-level annotations include + comprehensions and other nested scopes. + - gh-132747: Fix a crash when calling __get__() of a method + with a None second argument. + - gh-132744: Certain calls now check for runaway recursion + and respect the system recursion limit. + - gh-132449: Syntax errors that look like misspellings of + Python keywords now provide a helpful fix suggestion for + the typo. Contributed by Pablo Galindo Salgado. + - gh-132737: Support profiling code that requires __main__, + such as pickle. + - gh-132639: Added PyLong_AsNativeBytes(), + PyLong_FromNativeBytes() and + PyLong_FromUnsignedNativeBytes() to the limited C API. + - gh-100239: Add specialisation for BINARY_OP/SUBSCR on list + and slice. + - gh-132508: Uses tagged integers on the evaluation stack + to represent the instruction offsets when reraising an + exception. This avoids the need to box the integer which + could fail in low memory conditions. + - gh-124476: Fix decoding from the locale encoding in the + C.UTF-8 locale. + - gh-131927: Compiler warnings originating from the same + module and line number are now only emitted once, matching + the behaviour of warnings emitted from user code. This can + also be configured with warnings filters. + - gh-132457: Make staticmethod() and classmethod() generic. + - gh-131798: Use sym_new_type instead of sym_new_not_null for + _BUILD_LIST, _BUILD_SET, _BUILD_MAP + - gh-131798: Split CALL_TYPE_1 into several uops allowing the + JIT to remove some of them. + - gh-132386: Fix crash when passing a dict subclass as the + globals parameter to exec(). + - gh-127682: No longer call __iter__ twice when creating and + executing a generator expression. Creating a generator + expression from a non-interable will raise only when the + generator expression is executed. This brings the behavior + of generator expressions in line with other generators. + - gh-132261: The internal storage for annotations and + annotate functions on classes now uses different keys in + the class dictionary. This eliminates various edge cases + where access to the __annotate__ and __annotations__ + attributes would behave unpredictably. + - gh-132284: Don’t wrap base PyCFunction slots on class + creation if not overridden. + - gh-130415: Improve the JIT’s ability to remove unused + constant and local variable loads, and fix an issue where + deallocating unused values could cause JIT code to crash or + behave incorrectly. + - gh-126703: Fix possible use after free in cases where a + method’s definition has the same lifetime as its self. + - gh-132286: Fix that type.__annotate__ was not deleted, when + type.__annotations__ was deleted. + - gh-131798: Allow the JIT to remove an extra _TO_BOOL_BOOL + instruction after _CONTAINS_OP_DICT by setting the return + type to bool. + - gh-124715: Prevents against stack overflows when calling + Py_DECREF(). Third-party extension objects no longer need + to use the “trashcan” mechanism, as protection is now built + into the Py_DECREF() macro. + - gh-131798: Allow the JIT compiler to remove some type + checks for operations on lists, tuples, dictionaries, and + sets. + - gh-128398: Improve error message when an object supporting + the synchronous (resp. asynchronous) context manager + protocol is entered using async with (resp. with) instead + of with (resp. async with). Patch by Bénédikt Tran. + - gh-131798: Allow the JIT to remove unicode guards after + _BINARY_OP_SUBSCR_STR_INT by setting the return type to + string. + - gh-131878: Handle uncaught exceptions in the main input + loop for the new REPL. + - gh-131878: Fix support of unicode characters with two or + more codepoints on Windows in the new REPL. + - gh-126835: Move constant folding to the peephole + optimizer. Rename AST optimization related files + (Python/ast_opt.c -> Python/ast_preprocess.c), structs + (_PyASTOptimizeState -> _PyASTPreprocessState) and + functions (_PyAST_Optimize -> _PyAST_Preprocess, + _PyCompile_AstOptimize -> _PyCompile_AstPreprocess). + - gh-114809: Add support for macOS multi-arch builds with the + JIT enabled + - gh-131507: PyREPL now supports syntax + highlighing. Contributed by Łukasz Langa. + - gh-130907: If the __annotations__ of a module object + are accessed while the module is executing, return the + annotations that have been defined so far, without caching + them. + - gh-130104: Three-argument pow() now try calling __rpow__() + if necessary. Previously it was only called in two-argument + pow() and the binary power operator. + - gh-130070: Fixed an assertion error for exec() passed a + string source and a non-None closure. Patch by Bartosz + Sławecki. + - gh-129958: Fix a bug that was allowing newlines + inconsitently in format specifiers for single-quoted + f-strings. Patch by Pablo Galindo. + - gh-129858: elif statements that follow an else block now + have a specific error message. + - gh-69605: Add module autocomplete to PyREPL. + - gh-128555: Add the sys.flags.thread_inherit_context flag. + - This flag is set to true by default on the + free-threaded build and false otherwise. If the flag + is true, starting a new thread using threading.Thread + will, by default, use a copy of the contextvars.Context + from the caller of threading.Thread.start() rather than + using an empty context. + - Add the -X thread_inherit_context command-line option + and PYTHON_THREAD_INHERIT_CONTEXT environment variable, + which set the thread_inherit_context flag. + - Add the context keyword parameter to Thread. It can be + used to explicitly pass a context value to be used by a + new thread. + - Make the _contextvars module built-in. + - gh-123539: Improve SyntaxError message for using import ... + as and from ... import ... as with not a name. + - gh-102567: -X importtime now accepts value 2, which + indicates that an importtime entry should also be printed + if an imported module has already been loaded. Patch by + Noah Kim and Adam Turner. + - gh-116436: Improve error message when TypeError occurs + during dict.update() + - gh-103997: String arguments passed to “-c” are now + automatically dedented as if by textwrap.dedent(). This + allows “python -c” invocations to be indented in shell + scripts without causing indentation errors. (Patch by Jon + Crall and Steven Sun) + - gh-89562: Remove hostflags member from PySSLContext struct. + - C API + - gh-133166: Fix regression where PyType_GetModuleByDef() + returns NULL without setting TypeError when a static type + is passed. + - gh-133164: Add + PyUnstable_Object_IsUniqueReferencedTemporary() function + for determining if an object exists as a unique temporary + variable on the interpreter’s stack. This is a replacement + for some cases where checking that Py_REFCNT() is one is + no longer sufficient to determine if it’s safe to modify a + Python object in-place with no visible side effects. + - gh-133140: Add PyUnstable_Object_IsUniquelyReferenced() + as a replacement for Py_REFNCT(op) == 1 on free threaded + builds of Python. + - gh-131747: On non-Windows platforms, deprecate using + ctypes.Structure._pack_ to use a Windows-compatible layout + on non-Windows platforms. The layout should be specified + explicitly by setting ctypes.Structure._layout_ to 'ms'. + - gh-128972: For non-free-threaded builds, the memory layout + of PyASCIIObject is reverted to match Python 3.13. (Note + that the structure is not part of stable ABI and so its + memory layout is guaranteed to remain stable.) + - gh-133079: The undocumented APIs Py_C_RECURSION_LIMIT and + PyThreadState.c_recursion_remaining, added in 3.13, are + removed without a deprecation period. + - gh-132987: The k and K formats in PyArg_Parse() now support + the __index__() special method, like all other integer + formats. + - gh-132909: Fix an overflow when handling the K format in + Py_BuildValue(). Patch by Bénédikt Tran. + - gh-132798: Deprecated and undocumented + functions PyUnicode_AsEncodedObject(), + PyUnicode_AsDecodedObject(), PyUnicode_AsEncodedUnicode() + and PyUnicode_AsDecodedUnicode() are scheduled for removal + in 3.15. + - gh-132470: Creating a ctypes.CField with a byte_size that + does not match the actual type size now raises a ValueError + instead of crashing the interpreter. + - gh-112068: Add support of nullable arguments in + PyArg_Parse() and similar functions. Adding ? after any + format unit makes None be accepted as a value. + - gh-50333: Non-tuple sequences are deprecated as argument + for the (items) format unit in PyArg_ParseTuple() and other + argument parsing functions if items contains format units + which store a borrowed buffer or a borrowed reference. + - Build + - gh-113464: Use the cpython-bin-deps “externals” repository + for Windows LLVM dependency management. Installing LLVM + manually is no longer necessary for Windows JIT builds. + - gh-133183: iOS compiler shims now include + IPHONEOS_DEPLOYMENT_TARGET in target triples, ensuring that + SDK version minimums are honored. + - gh-133167: Fix compilation process with + --enable-optimizations and --without-docstrings. + - gh-133171: Since free-threaded builds do not support the + experimental JIT compiler, prevent these configurations + from being combined. + - gh-132758: Fix building with tail call interpreter and + pystats. + - gh-132649: The PClayout script now allows passing + --include-tcltk on Windows ARM64. + - gh-132257: Change the default LTO flags on GCC to not + pass -flto-partition=none, and allow parallelization of + LTO. For newer GNU makes and GCC, this has a multiple + factor speedup for LTO build times, with no noticeable loss + in performance. + - gh-132026: Fix use of undefined identifiers in platform + triplet detection on MIPS Linux platforms. +- Disabled GIL and experimental JIT cannot be combined. +- Remove python-3.3.0b1-test-posix_fadvise.patch (not needed + since kernel 3.6-rc1) +- _contextvars is not a dynamic module any more + (gh#python/cpython#128384) +- rename _testexternalinspection to _remotedebugging + (gh#python/cpython!133284) + ------------------------------------------------------------------- Sat Apr 12 21:50:29 UTC 2025 - Matej Cepl diff --git a/python314.spec b/python314.spec index 2844bad..a173e50 100644 --- a/python314.spec +++ b/python314.spec @@ -64,6 +64,10 @@ %if 0%{?suse_version} <= 1600 %bcond_with experimental_jit %else +# Doesn’t work with GIL support disabled +%if %{without GIL} +%bcond_with experimental_jit +%else # Currently supported architectures # https://peps.python.org/pep-0744/#support %ifarch x86_64 %{x86_64} aarch64 @@ -72,6 +76,7 @@ %bcond_with experimental_jit %endif %endif +%endif # Only for Tumbleweed # https://en.opensuse.org/openSUSE:Python:Externally_managed @@ -157,8 +162,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~a7 -%define tarversion 3.14.0a7 +Version: 3.14.0~b1 +%define tarversion 3.14.0b1 %define tarname Python-%{tarversion} Release: 0 Summary: Python 3 Interpreter @@ -198,8 +203,6 @@ Patch02: F00251-change-user-install-location.patch Patch03: python-3.3.0b1-localpath.patch # replace DATE, TIME and COMPILER by fixed definitions to aid reproducible builds Patch04: python-3.3.0b1-fix_date_time_compiler.patch -# POSIX_FADV_WILLNEED throws EINVAL. Use a different constant in test -Patch05: python-3.3.0b1-test-posix_fadvise.patch # Raise timeout value for test_subprocess Patch06: subprocess-raise-timeout.patch # PATCH-FEATURE-UPSTREAM bpo-31046_ensurepip_honours_prefix.patch bpo#31046 mcepl@suse.com @@ -710,7 +713,7 @@ for module in \ asyncio ctypes collections concurrent email encodings \ ensurepip html http re pathlib _pyrepl \ importlib json logging multiprocessing pydoc_data unittest \ - urllib venv wsgiref test sysconfig tomllib turtledemo \ + urllib venv wsgiref test string sysconfig tomllib turtledemo \ xml xmlrpc zipfile zoneinfo __phello__ do rm -r %{buildroot}%{sitedir}/$module @@ -718,13 +721,13 @@ done for library in \ array _asyncio binascii _bisect _bz2 cmath _codecs_* \ - _contextvars _csv _ctypes _datetime _decimal fcntl grp \ + _csv _ctypes _datetime _decimal fcntl grp \ _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 \ - _testclinic _testclinic_limited xxlimited xxlimited_35 _testexternalinspection \ + _testclinic _testclinic_limited xxlimited xxlimited_35 _remote_debugging \ _testlimitedcapi _xxtestfuzz _elementtree pyexpat _md5 _sha1 \ _interpchannels _interpqueues _interpreters \ _sha2 _blake2 _sha3 _uuid _zoneinfo \ @@ -783,7 +786,7 @@ install -d -m 755 %{buildroot}%{sitedir}/site-packages/__pycache__ mkdir -p %{buildroot}%{_prefix}/lib/python%{python_abi}/site-packages/__pycache__ # cleanup parts that don't belong -for dir in curses dbm sqlite3 tkinter idlelib; do +for dir in curses dbm compression sqlite3 tkinter idlelib; do find "%{buildroot}/%{sitedir}/$dir"/* -maxdepth 0 -name "test" -o -exec rm -rf {} + done @@ -903,6 +906,7 @@ fi %files -n %{python_pkg_name} %dir %{sitedir} %dir %{sitedir}/lib-dynload +%{sitedir}/compression %{sitedir}/sqlite3 %{dynlib readline} %{dynlib _sqlite3} @@ -983,7 +987,7 @@ fi %{dynlib _testimportmultiple} %{dynlib _testmultiphase} %{dynlib _testsinglephase} -%{dynlib _testexternalinspection} +%{dynlib _remote_debugging} %{dynlib _testlimitedcapi} %{dynlib _xxtestfuzz} # workaround for missing packages @@ -1032,7 +1036,6 @@ fi %{dynlib _codecs_jp} %{dynlib _codecs_kr} %{dynlib _codecs_tw} -%{dynlib _contextvars} %{dynlib _csv} %{dynlib _ctypes} %{dynlib _datetime} @@ -1108,6 +1111,7 @@ fi %{sitedir}/pathlib %{sitedir}/pydoc_data %{sitedir}/re +%{sitedir}/string %{sitedir}/sysconfig %{sitedir}/tomllib %{sitedir}/unittest diff --git a/subprocess-raise-timeout.patch b/subprocess-raise-timeout.patch index 09628b5..3788696 100644 --- a/subprocess-raise-timeout.patch +++ b/subprocess-raise-timeout.patch @@ -2,11 +2,11 @@ Lib/test/test_subprocess.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -Index: Python-3.14.0a7/Lib/test/test_subprocess.py +Index: Python-3.14.0b1/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 @@ +--- Python-3.14.0b1.orig/Lib/test/test_subprocess.py 2025-05-09 10:36:08.150615546 +0200 ++++ Python-3.14.0b1/Lib/test/test_subprocess.py 2025-05-09 10:36:21.907614565 +0200 +@@ -160,7 +160,11 @@ # child. self.assertRaises(subprocess.TimeoutExpired, subprocess.call, [sys.executable, "-c", "while True: pass"], @@ -17,5 +17,5 @@ Index: Python-3.14.0a7/Lib/test/test_subprocess.py + # OBS might require even more + timeout=10) - def test_check_call_zero(self): - # check_call() function with zero return code + def test_timeout_exception(self): + try: