From cf67592415545222eeb14c4f348cbf321d93b7fe41f732190d25ed34a222f7d4 Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Thu, 8 Feb 2024 08:18:19 +0000 Subject: [PATCH] - Update to 3.13.0a3 - Security - gh-113659: Skip .pth files with names starting with a dot or hidden file attribute. - gh-112302: Created a Software Bill-of-Materials document and tooling for tracking dependencies. - Core and Builtins - gh-107901: Compiler duplicates basic blocks that have an eval breaker check, no line number, and multiple predecessors. - gh-107901: A jump leaving an exception handler back to normal code no longer checks the eval breaker. - gh-113655: Set the C recursion limit to 4000 on Windows, and 10000 on Linux/OSX. This seems to be near the sweet spot to maintain safety, but not compromise backwards compatibility. - gh-113710: Add typed stack effects to the interpreter DSL, along with various instruction annotations. - gh-77046: On Windows, file descriptors wrapping Windows handles are now created non inheritable by default (PEP 446). Patch by Zackery Spytz and Victor Stinner. - gh-113853: Guarantee that all executors make progress. This then guarantees that tier 2 execution always makes progress. - gh-113753: Fix an issue where the finalizer of PyAsyncGenASend objects might not be called if they were allocated from a free list. - gh-107901: Compiler changed so that synthetic jumps which are not at loop end no longer check the eval breaker. - gh-113703: Fix a regression in the codeop module that was causing it to incorrectly identify incomplete f-strings. Patch by Pablo Galindo - gh-89811: Check for a valid tp_version_tag before performing OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python313?expand=0&rev=3 --- F00251-change-user-install-location.patch | 20 +- Python-3.13.0a2.tar.xz | 3 - Python-3.13.0a2.tar.xz.asc | 18 - Python-3.13.0a3.tar.xz | 3 + Python-3.13.0a3.tar.xz.asc | 18 + bpo-31046_ensurepip_honours_prefix.patch | 32 +- fix_configure_rst.patch | 8 +- no-skipif-doctests.patch | 6 +- python-3.3.0b1-fix_date_time_compiler.patch | 8 +- python-3.3.0b1-localpath.patch | 10 +- python-3.3.0b1-test-posix_fadvise.patch | 6 +- python313.changes | 604 ++++++++++++++++++++ python313.spec | 20 +- skip-test_pyobject_freed_is_freed.patch | 6 +- subprocess-raise-timeout.patch | 6 +- 15 files changed, 694 insertions(+), 74 deletions(-) delete mode 100644 Python-3.13.0a2.tar.xz delete mode 100644 Python-3.13.0a2.tar.xz.asc create mode 100644 Python-3.13.0a3.tar.xz create mode 100644 Python-3.13.0a3.tar.xz.asc diff --git a/F00251-change-user-install-location.patch b/F00251-change-user-install-location.patch index 8b7db3f..8e76c8c 100644 --- a/F00251-change-user-install-location.patch +++ b/F00251-change-user-install-location.patch @@ -29,11 +29,11 @@ Co-authored-by: Lumír Balhar Lib/test/test_sysconfig.py | 17 +++++++++++-- 3 files changed, 71 insertions(+), 4 deletions(-) -Index: Python-3.13.0a1/Lib/site.py +Index: Python-3.13.0a3/Lib/site.py =================================================================== ---- Python-3.13.0a1.orig/Lib/site.py -+++ Python-3.13.0a1/Lib/site.py -@@ -377,8 +377,15 @@ def getsitepackages(prefixes=None): +--- Python-3.13.0a3.orig/Lib/site.py ++++ Python-3.13.0a3/Lib/site.py +@@ -395,8 +395,15 @@ def getsitepackages(prefixes=None): return sitepackages def addsitepackages(known_paths, prefixes=None): @@ -50,11 +50,11 @@ Index: Python-3.13.0a1/Lib/site.py for sitedir in getsitepackages(prefixes): if os.path.isdir(sitedir): addsitedir(sitedir, known_paths) -Index: Python-3.13.0a1/Lib/test/test_sysconfig.py +Index: Python-3.13.0a3/Lib/test/test_sysconfig.py =================================================================== ---- Python-3.13.0a1.orig/Lib/test/test_sysconfig.py -+++ Python-3.13.0a1/Lib/test/test_sysconfig.py -@@ -113,8 +113,19 @@ class TestSysConfig(unittest.TestCase): +--- Python-3.13.0a3.orig/Lib/test/test_sysconfig.py ++++ Python-3.13.0a3/Lib/test/test_sysconfig.py +@@ -115,8 +115,19 @@ class TestSysConfig(unittest.TestCase): for scheme in _INSTALL_SCHEMES: for name in _INSTALL_SCHEMES[scheme]: expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars) @@ -75,7 +75,7 @@ Index: Python-3.13.0a1/Lib/test/test_sysconfig.py os.path.normpath(expected), ) -@@ -338,7 +349,7 @@ class TestSysConfig(unittest.TestCase): +@@ -340,7 +351,7 @@ class TestSysConfig(unittest.TestCase): self.assertTrue(os.path.isfile(config_h), config_h) def test_get_scheme_names(self): @@ -84,7 +84,7 @@ Index: Python-3.13.0a1/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))) -@@ -350,6 +361,8 @@ class TestSysConfig(unittest.TestCase): +@@ -352,6 +363,8 @@ class TestSysConfig(unittest.TestCase): cmd = "-c", "import sysconfig; print(sysconfig.get_platform())" self.assertEqual(py.call_real(*cmd), py.call_link(*cmd)) diff --git a/Python-3.13.0a2.tar.xz b/Python-3.13.0a2.tar.xz deleted file mode 100644 index 5f25ff2..0000000 --- a/Python-3.13.0a2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6d46b44190c4c02421eb69a042d16b0c55481bdda818c6c416dc244113a9c2d -size 20244640 diff --git a/Python-3.13.0a2.tar.xz.asc b/Python-3.13.0a2.tar.xz.asc deleted file mode 100644 index 325a179..0000000 --- a/Python-3.13.0a2.tar.xz.asc +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmVd5DFfFIAAAAAALgAo -aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx -Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6 -YwXX6Q/+LJMSSTRUCTPY4ZBsMqZRJCZDbo7vCVedHwOPKT5PiID9tKQ/wrpPX3at -mBSQ4RD35WwuBidDMAz4WT5UcK/bWQbv+ZKRIPPW8P4YpgTae+7lpOgD1R48yUdB -XNxZ1BO1zl127ZajpO0MkGBcgQv0Yz+juVNfPxwLCRVJPRg5sl03BfnmN+GBC+XC -cdEYHmcOYZELwZZfQZQrUkh+sybFfM0hAKvaFIXnzA7VxHDR0qTh/1xf6ekQmXZq -2qpAxy0C5Eey2X1VZevl1Gk76Lv8cE5NL8wrtMMDTJNAT9S5dZR4rdcCaPTfYQUN -WI3FvKGeWMFuVffxXXv+YTHl1KitePPUhpsawEjBgF+5n6f5PWgDBL2tF0aKd+Mn -dE9EdCFoe0iPeuPTJqQ3zpIVP8LmFnKuZePCVIyLigaWclbLYFxttp9N+wnjTvAt -1kk4olNMJwFr6YP9o0pyrE/NVPOmGhG5P30TmDToMIiolDwYaeFiKdC/HXOFD0zZ -25HowszQR7mePVr7bBgd+TZRcfc/nfkfVti0JxqPsvOX/e6PmhLS+YgqgEH2fYtl -JpNVhc2AmMfCSK2/XxiT3VAJhBr3d9NneUJUV9FLkHZL2miY5MfGUUHFRJhDxj/k -DyM7AT9EKNNnlV/sZWY4SO13Jo0QsyzNbRltWkou5CZVNBUkclI= -=R8U5 ------END PGP SIGNATURE----- diff --git a/Python-3.13.0a3.tar.xz b/Python-3.13.0a3.tar.xz new file mode 100644 index 0000000..939b430 --- /dev/null +++ b/Python-3.13.0a3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20784c8304eb1c69c80f966ebdf0775be2e37e23df3b62461eec12a85dcf7ead +size 20351452 diff --git a/Python-3.13.0a3.tar.xz.asc b/Python-3.13.0a3.tar.xz.asc new file mode 100644 index 0000000..4f39501 --- /dev/null +++ b/Python-3.13.0a3.tar.xz.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmWnxORfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx +Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6 +YwVLIw//SF9sDGaLIosuQval4pD4zm5cvXwOfWbLepaw/pfY4m9VUyQX9MsnaQQ9 +4IGTjNsHZvRsThkPNUt9FuxIHeJsetK+pE0yc87/d/xTeokd1f52KU7K5EKgnW0D +o/omL0dqZE6yq3QWWccVe5kPNc9pIzZIYpG5I3OcfbxzgHVDuNI7QJGAr4z4tBu7 +ic5Fdylr/f9S/LNfD7/4tZNSmaKojFc3tbu9wp6AaYQgXPMMCq+s/WA2dZiH5Ftl +xaX4hyxwClo1LqQODf3jiG8w02hmjTFT2de+xQIS81Ez+wBeX3hh0htiyZzGebsn +qUMC3rWRuX1KZB3C2Brk9GHCjic+lDLdU1EWqF0ZzRBApnWz2g1Jp7MDuX718aPN +zNXuIDigSIp2387BenvZyp+ASvgWqFesy3n2cJut1/f2C874qGjECSgnyI0r/ViV +q1saOgAeOV6hEWlWtNFeh0IoJ8yEbHe+aSTTCIZu/2zdaP3ij160rOEcQDDV+lfL +rzZtkyVCdeONpf2YQfjYqiyWhIuqPYdEufApjScBl8jSLyNBPrljJJRQoOPRTJ0l +CR6+kRWXZo5M0Qb+4kgRpgOpOqjq04rNUgulAitI9AoATcZYfmu5rJatytiU3emy +Qrc/3cSDcbzil/rYGweYLjxoEOG1VSFqMf0wAAzErZi3uLEe5J4= +=kGSc +-----END PGP SIGNATURE----- diff --git a/bpo-31046_ensurepip_honours_prefix.patch b/bpo-31046_ensurepip_honours_prefix.patch index cf0703d..3d0424c 100644 --- a/bpo-31046_ensurepip_honours_prefix.patch +++ b/bpo-31046_ensurepip_honours_prefix.patch @@ -13,8 +13,10 @@ Co-Authored-By: Xavier de Gaye 5 files changed, 34 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 +Index: Python-3.13.0a3/Doc/library/ensurepip.rst +=================================================================== +--- Python-3.13.0a3.orig/Doc/library/ensurepip.rst ++++ Python-3.13.0a3/Doc/library/ensurepip.rst @@ -59,8 +59,9 @@ is at least as recent as the one availab By default, ``pip`` is installed into the current virtual environment (if one is active) or into the system site packages (if there is no @@ -53,8 +55,10 @@ Co-Authored-By: Xavier de Gaye .. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap .. note:: ---- a/Lib/ensurepip/__init__.py -+++ b/Lib/ensurepip/__init__.py +Index: Python-3.13.0a3/Lib/ensurepip/__init__.py +=================================================================== +--- Python-3.13.0a3.orig/Lib/ensurepip/__init__.py ++++ Python-3.13.0a3/Lib/ensurepip/__init__.py @@ -120,27 +120,27 @@ def _disable_pip_configuration_settings( os.environ['PIP_CONFIG_FILE'] = os.devnull @@ -117,8 +121,10 @@ Co-Authored-By: Xavier de Gaye upgrade=args.upgrade, user=args.user, verbosity=args.verbosity, ---- a/Lib/test/test_ensurepip.py -+++ b/Lib/test/test_ensurepip.py +Index: Python-3.13.0a3/Lib/test/test_ensurepip.py +=================================================================== +--- Python-3.13.0a3.orig/Lib/test/test_ensurepip.py ++++ Python-3.13.0a3/Lib/test/test_ensurepip.py @@ -105,6 +105,17 @@ class TestBootstrap(EnsurepipMixin, unit unittest.mock.ANY, ) @@ -137,9 +143,11 @@ Co-Authored-By: Xavier de Gaye def test_bootstrapping_with_user(self): ensurepip.bootstrap(user=True) ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1976,7 +1976,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni +Index: Python-3.13.0a3/Makefile.pre.in +=================================================================== +--- Python-3.13.0a3.orig/Makefile.pre.in ++++ Python-3.13.0a3/Makefile.pre.in +@@ -1991,7 +1991,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni install|*) ensurepip="" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -148,7 +156,7 @@ Co-Authored-By: Xavier de Gaye fi .PHONY: altinstall -@@ -1987,7 +1987,7 @@ altinstall: commoninstall +@@ -2002,7 +2002,7 @@ altinstall: commoninstall install|*) ensurepip="--altinstall" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -157,7 +165,9 @@ Co-Authored-By: Xavier de Gaye fi .PHONY: commoninstall +Index: Python-3.13.0a3/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst +=================================================================== --- /dev/null -+++ b/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst ++++ Python-3.13.0a3/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst @@ -0,0 +1 @@ +A directory prefix can now be specified when using :mod:`ensurepip`. diff --git a/fix_configure_rst.patch b/fix_configure_rst.patch index 58b1058..2a505d9 100644 --- a/fix_configure_rst.patch +++ b/fix_configure_rst.patch @@ -2,9 +2,11 @@ Misc/NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/Misc/NEWS -+++ b/Misc/NEWS -@@ -13972,7 +13972,7 @@ C API +Index: Python-3.13.0a3/Misc/NEWS +=================================================================== +--- Python-3.13.0a3.orig/Misc/NEWS ++++ Python-3.13.0a3/Misc/NEWS +@@ -14868,7 +14868,7 @@ C API - bpo-40939: Removed documentation for the removed ``PyParser_*`` C API. - bpo-43795: The list in :ref:`limited-api-list` now shows the public name diff --git a/no-skipif-doctests.patch b/no-skipif-doctests.patch index a83c47a..cbac266 100644 --- a/no-skipif-doctests.patch +++ b/no-skipif-doctests.patch @@ -4,10 +4,10 @@ unchanged: Doc/library/turtle.rst | 81 ------------------------------------------------- 1 file changed, 81 deletions(-) -Index: Python-3.13.0a1/Doc/library/turtle.rst +Index: Python-3.13.0a3/Doc/library/turtle.rst =================================================================== ---- Python-3.13.0a1.orig/Doc/library/turtle.rst -+++ Python-3.13.0a1/Doc/library/turtle.rst +--- Python-3.13.0a3.orig/Doc/library/turtle.rst ++++ Python-3.13.0a3/Doc/library/turtle.rst @@ -449,7 +449,6 @@ Turtle motion turtle is headed. diff --git a/python-3.3.0b1-fix_date_time_compiler.patch b/python-3.3.0b1-fix_date_time_compiler.patch index 1b94069..b865789 100644 --- a/python-3.3.0b1-fix_date_time_compiler.patch +++ b/python-3.3.0b1-fix_date_time_compiler.patch @@ -2,9 +2,11 @@ Makefile.pre.in | 7 +++++++ 1 file changed, 7 insertions(+) ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1375,11 +1375,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ +Index: Python-3.13.0a3/Makefile.pre.in +=================================================================== +--- Python-3.13.0a3.orig/Makefile.pre.in ++++ Python-3.13.0a3/Makefile.pre.in +@@ -1380,11 +1380,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ $(DTRACE_OBJS) \ $(srcdir)/Modules/getbuildinfo.c $(CC) -c $(PY_CORE_CFLAGS) \ diff --git a/python-3.3.0b1-localpath.patch b/python-3.3.0b1-localpath.patch index a085974..00d6dba 100644 --- a/python-3.3.0b1-localpath.patch +++ b/python-3.3.0b1-localpath.patch @@ -1,9 +1,9 @@ -Index: Python-3.13.0a1/Lib/site.py +Index: Python-3.13.0a3/Lib/site.py =================================================================== ---- Python-3.13.0a1.orig/Lib/site.py -+++ Python-3.13.0a1/Lib/site.py -@@ -76,7 +76,7 @@ import _sitebuiltins - import io +--- Python-3.13.0a3.orig/Lib/site.py ++++ Python-3.13.0a3/Lib/site.py +@@ -77,7 +77,7 @@ import io + import stat # Prefixes for site-packages; add additional prefixes like /usr/local here -PREFIXES = [sys.prefix, sys.exec_prefix] diff --git a/python-3.3.0b1-test-posix_fadvise.patch b/python-3.3.0b1-test-posix_fadvise.patch index 64ed391..ea69182 100644 --- a/python-3.3.0b1-test-posix_fadvise.patch +++ b/python-3.3.0b1-test-posix_fadvise.patch @@ -2,8 +2,10 @@ 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 +Index: Python-3.13.0a3/Lib/test/test_posix.py +=================================================================== +--- Python-3.13.0a3.orig/Lib/test/test_posix.py ++++ Python-3.13.0a3/Lib/test/test_posix.py @@ -433,7 +433,7 @@ class PosixTester(unittest.TestCase): def test_posix_fadvise(self): fd = os.open(os_helper.TESTFN, os.O_RDONLY) diff --git a/python313.changes b/python313.changes index 1244fab..5614ade 100644 --- a/python313.changes +++ b/python313.changes @@ -1,3 +1,607 @@ +------------------------------------------------------------------- +Thu Feb 8 08:10:09 UTC 2024 - Daniel Garcia + +- Update to 3.13.0a3 + - Security + - gh-113659: Skip .pth files with names starting with a dot or + hidden file attribute. + - gh-112302: Created a Software Bill-of-Materials document and + tooling for tracking dependencies. + - Core and Builtins + - gh-107901: Compiler duplicates basic blocks that have an eval + breaker check, no line number, and multiple predecessors. + - gh-107901: A jump leaving an exception handler back to normal + code no longer checks the eval breaker. + - gh-113655: Set the C recursion limit to 4000 on Windows, and + 10000 on Linux/OSX. This seems to be near the sweet spot to + maintain safety, but not compromise backwards compatibility. + - gh-113710: Add typed stack effects to the interpreter DSL, along + with various instruction annotations. + - gh-77046: On Windows, file descriptors wrapping Windows handles + are now created non inheritable by default (PEP 446). Patch by + Zackery Spytz and Victor Stinner. + - gh-113853: Guarantee that all executors make progress. This then + guarantees that tier 2 execution always makes progress. + - gh-113753: Fix an issue where the finalizer of PyAsyncGenASend + objects might not be called if they were allocated from a free + list. + - gh-107901: Compiler changed so that synthetic jumps which are + not at loop end no longer check the eval breaker. + - gh-113703: Fix a regression in the codeop module that was + causing it to incorrectly identify incomplete f-strings. Patch + by Pablo Galindo + - gh-89811: Check for a valid tp_version_tag before performing + bytecode specializations that rely on this value being usable. + - gh-111488: Changed error message in case of no ‘in’ keyword + after ‘for’ in list comprehensions + - gh-113657: Fix an issue that caused important instruction + pointer updates to be optimized out of tier two traces. + - gh-113603: Fixed bug where a redundant NOP is not removed, + causing an assertion to fail in the compiler in debug mode. + - gh-113602: Fix an error that was causing the parser to try to + overwrite existing errors and crashing in the process. Patch by + Pablo Galindo + - gh-113486: No longer issue spurious PY_UNWIND events for + optimized calls to classes. + - gh-113297: Fix segfault in the compiler on with statement with + 19 context managers. + - gh-113212: Improve super error messages. + - gh-111375: Only use NULL in the exception stack to indicate an + exception was handled. Patch by Carey Metcalfe. + - gh-112215: Increase the C recursion limit by a factor of 3 for + non-debug builds, except for webassembly and s390 platforms + which are unchanged. This mitigates some regressions in 3.12 + with deep recursion mixing builtin (C) and Python code. + - gh-113054: Fixed bug where a redundant NOP is not removed, + causing an assertion to fail in the compiler in debug mode. + - gh-106905: Use per AST-parser state rather than global state to + track recursion depth within the AST parser to prevent potential + race condition due to simultaneous parsing. + - The issue primarily showed up in 3.11 by multithreaded users of + ast.parse(). In 3.12 a change to when garbage collection can be + triggered prevented the race condition from occurring. + - gh-108866: Change the API and contract of _PyExecutorObject to + return the next_instr pointer, instead of the frame, and to + always execute at least one instruction. + - gh-90350: Optimize builtin functions min() and max(). + - gh-112943: Correctly compute end column offsets for multiline + tokens in the tokenize module. Patch by Pablo Galindo + - gh-112125: Fix None.__ne__(None) returning NotImplemented + instead of False + - gh-74616: input() now raises a ValueError when output on the + terminal if the prompt contains embedded null characters instead + of silently truncating it. + - gh-112716: Fix SystemError in the import statement and in + __reduce__() methods of builtin types when __builtins__ is not a + dict. + - gh-112730: Use color to highlight error locations in tracebacks. + Patch by Pablo Galindo + - gh-112625: Fixes a bug where a bytearray object could be cleared + while iterating over an argument in the bytearray.join() method + that could result in reading memory after it was freed. + - gh-112660: Do not clear unexpected errors during formatting + error messages for ImportError and AttributeError for modules. + - gh-105967: Workaround a bug in Apple’s macOS platform zlib + library where zlib.crc32() and binascii.crc32() could produce + incorrect results on multi-gigabyte inputs. Including when using + zipfile on zips containing large data. + - gh-95754: Provide a better error message when accessing invalid + attributes on partially initialized modules. The origin of the + module being accessed is now included in the message to help + with the common issue of shadowing other modules. + - gh-112217: Add check for the type of __cause__ returned from + calling the type T in raise from T. + - gh-111058: Change coro.cr_frame/gen.gi_frame to return None + after the coroutine/generator has been closed. This fixes a bug + where getcoroutinestate() and getgeneratorstate() return the + wrong state for a closed coroutine/generator. + - gh-112388: Fix an error that was causing the parser to try to + overwrite tokenizer errors. Patch by pablo Galindo + - gh-112387: Fix error positions for decoded strings with + backwards tokenize errors. Patch by Pablo Galindo + - gh-99606: Make code generated for an empty f-string identical to + the code of an empty normal string. + - gh-112367: Avoid undefined behaviour when using the perf + trampolines by not freeing the code arenas until shutdown. Patch + by Pablo Galindo + - gh-112320: The Tier 2 translator now tracks the confidence level + for staying “on trace” (i.e. not exiting back to the Tier 1 + interpreter) for branch instructions based on the number of bits + set in the branch “counter”. Trace translation ends when the + confidence drops below 1/3rd. + - gh-109598: PyComplex_RealAsDouble()/PyComplex_ImagAsDouble() now + tries to convert an object to a complex instance using its + __complex__() method before falling back to the __float__() + method. Patch by Sergey B Kirpichev. + - gh-94606: Fix UnicodeEncodeError when + email.message.get_payload() reads a message with a Unicode + surrogate character and the message content is not well-formed + for surrogateescape encoding. Patch by Sidney Markowitz. + - bpo-21861: Use the object’s actual class name in + _io.FileIO.__repr__(), _io._WindowsConsoleIO() and + _io.TextIOWrapper.__repr__(), to make these methods subclass + friendly. + - bpo-45369: Remove LibreSSL workarounds as per PEP 644. + - bpo-34392: Added sys._is_interned(). Libr- ary + - gh-114077: Fix possible OverflowError in + socket.socket.sendfile() when pass count larger than 2 GiB on + 32-bit platform. + - gh-111803: plistlib now supports loading more deeply nested + lists in binary format. + - gh-114014: Fixed a bug in fractions.Fraction where an invalid + string using d in the decimals part creates a different error + compared to other invalid letters/characters. Patch by Jeremiah + Gabriel Pascual. + - gh-108364: sqlite3.Connection.iterdump() now ensures that + foreign key support is disabled before dumping the database + schema, if there is any foreign key violation. Patch by Erlend + E. Aasland and Mariusz Felisiak. + - gh-113971: The zipfile.ZipInfo previously protected + ._compresslevel attribute has been made public as + .compress_level with the old _compresslevel name remaining + available as a property to retain compatibility. + - gh-113877: Fix tkinter method winfo_pathname() on 64-bit + Windows. + - gh-113868: Added mmap.MAP_NORESERVE, mmap.MAP_NOEXTEND, + mmap.MAP_HASSEMAPHORE, mmap.MAP_NOCACHE, mmap.MAP_JIT, + mmap.MAP_RESILIENT_CODESIGN, mmap.MAP_RESILIENT_MEDIA, + mmap.MAP_32BIT, mmap.MAP_TRANSLATED_ALLOW_EXECUTE, + mmap.MAP_UNIX03 and mmap.MAP_TPRO. All of them are mmap(2) flags + on macOS. + - gh-113848: asyncio.TaskGroup() and asyncio.timeout() context + managers now handle CancelledError subclasses as well as exact + CancelledError. + - gh-113661: unittest runner: Don’t exit 5 if tests were skipped. + The intention of exiting 5 was to detect issues where the test + suite wasn’t discovered at all. If we skipped tests, it was + correctly discovered. + - gh-96037: Insert TimeoutError in the context of the exception + that was raised during exiting an expired asyncio.timeout() + block. + - gh-113781: Silence unraisable AttributeError when warnings are + emitted during Python finalization. + - gh-113238: Add Anchor to importlib.resources (in order for the + code to comply with the documentation) + - gh-111693: asyncio.Condition.wait() now re-raises the same + CancelledError instance that may have caused it to be + interrupted. Fixed race condition in asyncio.Semaphore.aquire() + when interrupted with a CancelledError. + - gh-113791: Add CLOCK_MONOTONIC_RAW_APPROX and + CLOCK_UPTIME_RAW_APPROX to time on macOS. These are clocks + available on macOS 10.12 or later. + - gh-112932: Restore the ability for zipfile to extractall from + zip files with a “/” directory entry in them as is commonly + added to zips by some wiki or bug tracker data exporters. + - gh-113568: Raise deprecation warnings from pathlib.PurePath and + not its private base class PurePathBase. + - gh-113594: Fix UnicodeEncodeError in email when re-fold lines + that contain unknown-8bit encoded part followed by + non-unknown-8bit encoded part. + - gh-113538: In asyncio.StreamReaderProtocol.connection_made(), + there is callback that logs an error if the task wrapping the + “connected callback” fails. This callback would itself fail if + the task was cancelled. Prevent this by checking whether the + task was cancelled first. If so, close the transport but don’t + log an error. + - gh-113626: Add support for the allow_code argument in the + marshal module. Passing allow_code=False prevents serialization + and de-serialization of code objects which is incompatible + between Python versions. + - gh-85567: Fix resource warnings for unclosed files in pickle and + pickletools command line interfaces. + - gh-113537: Support loads str in plistlib.loads(). + - gh-89850: Add default implementations of + pickle.Pickler.persistent_id() and + pickle.Unpickler.persistent_load() methods in the C + implementation. Calling super().persistent_id() and + super().persistent_load() in subclasses of the C implementation + of pickle.Pickler and pickle.Unpickler classes no longer causes + infinite recursion. + - gh-113569: Indicate if there were no actual calls in unittest + assert_has_calls() failure. + - gh-101225: Increase the backlog for + multiprocessing.connection.Listener objects created by + multiprocessing.manager and multiprocessing.resource_sharer to + significantly reduce the risk of getting a connection refused + error when creating a multiprocessing.connection.Connection to + them. + - gh-113568: Raise audit events from pathlib.Path and not its + private base class PathBase. + - gh-113543: Make sure that webbrowser.MacOSXOSAScript sends + webbrowser.open audit event. + - gh-113028: When a second reference to a string appears in the + input to pickle, and the Python implementation is in use, we are + guaranteed that a single copy gets pickled and a single object + is shared when reloaded. Previously, in protocol 0, when a + string contained certain characters (e.g. newline) it resulted + in duplicate objects. + - gh-113421: Fix multiprocessing logger for %(filename)s. + - gh-111784: Fix segfaults in the _elementtree module. Fix first + segfault during deallocation of _elementtree.XMLParser instances + by keeping strong reference to pyexpat module in module state + for capsule lifetime. Fix second segfault which happens in the + same deallocation process by keeping strong reference to + _elementtree module in XMLParser structure for _elementtree + module lifetime. + - gh-113407: Fix import of unittest.mock when CPython is built + without docstrings. + - gh-113320: Fix regression in Python 3.12 where Protocol classes + that were not marked as runtime-checkable would be unnecessarily + introspected, potentially causing exceptions to be raised if the + protocol had problematic members. Patch by Alex Waygood. + - gh-53502: Add a new option aware_datetime in plistlib to loads + or dumps aware datetime. + - gh-113358: Fix rendering tracebacks with exceptions with a + broken __getattr__ + - gh-113214: Fix an AttributeError during asyncio SSL protocol + aborts in SSL-over-SSL scenarios. + - gh-113246: Update bundled pip to 23.3.2. + - gh-87264: Fixed tarfile list() method to show file type. + - gh-112182: asyncio.futures.Future.set_exception() now transforms + StopIteration into RuntimeError instead of hanging or other + misbehavior. Patch contributed by Jamie Phan. + - gh-113225: Speed up pathlib.Path.glob() by using + os.DirEntry.path where possible. + - gh-113149: Improve error message when a JSON array or object + contains a trailing comma. Patch by Carson Radtke. + - gh-113117: The subprocess module can now use the + os.posix_spawn() function with close_fds=True on platforms where + posix_spawn_file_actions_addclosefrom_np is available. Patch by + Jakub Kulik. + - gh-113199: Make http.client.HTTPResponse.read1 and + http.client.HTTPResponse.readline close IO after reading all + data when content length is known. Patch by Illia Volochii. + - gh-113191: Add support of os.fchmod() and a file descriptor in + os.chmod() on Windows. + - gh-113188: Fix shutil.copymode() and shutil.copystat() on + Windows. Previously they worked differenly if dst is a symbolic + link: they modified the permission bits of dst itself rather + than the file it points to if follow_symlinks is true or src is + not a symbolic link, and did not modify the permission bits if + follow_symlinks is false and src is a symbolic link. + - gh-113119: os.posix_spawn() now accepts env=None, which makes + the newly spawned process use the current process environment. + Patch by Jakub Kulik. + - gh-113202: Add a strict option to batched() in the itertools + module. + - gh-61648: Detect line numbers of properties in doctests. + - gh-113175: Sync with importlib_metadata 7.0, including improved + type annotations, fixed issue with symlinked packages in + package_distributions, added EntryPoints.__repr__, introduced + the diagnose script, added Distribution.origin property, and + removed deprecated EntryPoint access by numeric index (tuple + behavior). + - gh-59616: Add support of os.lchmod() and the follow_symlinks + argument in os.chmod() on Windows. Note that the default value + of follow_symlinks in os.lchmod() is False on Windows. + - gh-112559: signal.signal() and signal.getsignal() no longer call + repr on callable handlers. asyncio.run() and + asyncio.Runner.run() no longer call repr on the task results. + Patch by Yilei Yang. + - gh-112962: dis module functions add cache information to the + Instruction instance rather than creating fake Instruction + instances to represent the cache entries. + - gh-112989: Reduce overhead to connect sockets with asyncio + SelectorEventLoop. + - gh-112970: Use closefrom() on Linux where available (e.g. + glibc-2.34), rather than only FreeBSD. + - gh-110190: Fix ctypes structs with array on PPC64LE platform by + setting MAX_STRUCT_SIZE to 64 in stgdict. Patch by Diego Russo. + - gh-112540: The statistics.geometric_mean() function now returns + zero for datasets containing a zero. Formerly, it would raise an + exception. + - gh-87286: Added LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, + LOG_INSTALL, LOG_RAS, and LOG_LAUNCHD tot the syslog module, all + of them constants on used on macOS. + - gh-112800: Fix asyncio SubprocessTransport.close() not to throw + PermissionError when used with setuid executables. + - gh-51944: Add the following constants to the termios module. + These values are present in macOS system headers: ALTWERASE, + B14400, B28800, B7200, B76800, CCAR_OFLOW, CCTS_OFLOW, + CDSR_OFLOW, CDTR_IFLOW, CIGNORE, CRTS_IFLOW, EXTPROC, IUTF8, + MDMBUF, NL2, NL3, NOKERNINFO, ONOEOT, OXTABS, VDSUSP, VSTATUS. + - gh-79325: Fix an infinite recursion error in + tempfile.TemporaryDirectory() cleanup on Windows. + - gh-94692: shutil.rmtree() now only catches OSError exceptions. + Previously a symlink attack resistant version of shutil.rmtree() + could ignore or pass to the error handler arbitrary exception + when invalid arguments were provided. + - gh-112736: The use of del-safe symbols in subprocess was + refactored to allow for use in cross-platform build + environments. + - gh-112727: Speed up pathlib.Path.absolute(). Patch by Barney + Gale. + - gh-74690: Speedup issubclass() checks against simple + runtime-checkable protocols by around 6%. Patch by Alex Waygood. + - gh-74690: Speedup isinstance() checks by roughly 20% for + runtime-checkable protocols that only have one callable member. + Speedup issubclass() checks for these protocols by roughly 10%. + Patch by Alex Waygood. + - gh-112645: Remove deprecation error on passing onerror to + shutil.rmtree(). + - gh-112640: Add kwdefaults parameter to types.FunctionType to set + default keyword argument values. + - gh-112622: Ensure name parameter is passed to event loop in + asyncio.create_task(). + - gh-112618: Fix a caching bug relating to typing.Annotated. + Annotated[str, True] is no longer identical to Annotated[str, + 1]. + - gh-112334: Fixed a performance regression in 3.12’s subprocess + on Linux where it would no longer use the fast-path vfork() + system call when it could have due to a logic bug, instead + falling back to the safe but slower fork(). + - Also fixed a second 3.12.0 potential security bug. If a value of + extra_groups=[] was passed to subprocess.Popen or related APIs, + the underlying setgroups(0, NULL) system call to clear the + groups list would not be made in the child process prior to + exec(). + - This was identified via code inspection in the process of fixing + the first bug. + - gh-110190: Fix ctypes structs with array on Arm platform by + setting MAX_STRUCT_SIZE to 32 in stgdict. Patch by Diego Russo. + - gh-81194: Fix a crash in socket.if_indextoname() with specific + value (UINT_MAX). Fix an integer overflow in + socket.if_indextoname() on 64-bit non-Windows platforms. + - gh-112578: Fix a spurious RuntimeWarning when executing the + zipfile module. + - gh-112516: Update the bundled copy of pip to version 23.3.1. + - gh-112510: Add readline.backend for the backend readline uses + (editline or readline) + - gh-112328: [Enum] Make EnumDict, EnumDict.member_names, + EnumType._add_alias_ and EnumType._add_value_alias_ public. + - gh-112509: Fix edge cases that could cause a key to be present + in both the __required_keys__ and __optional_keys__ attributes + of a typing.TypedDict. Patch by Jelle Zijlstra. + - gh-101336: Add keep_alive keyword parameter for + AbstractEventLoop.create_server() and + BaseEventLoop.create_server(). + - gh-63284: Added support for TLS-PSK (pre-shared key) mode to the + ssl module. + - gh-112414: Fix regression in Python 3.12 where calling repr() on + a module that had been imported using a custom loader could fail + with AttributeError. Patch by Alex Waygood. + - gh-112358: Revert change to struct.Struct initialization that + broke some cases of subclassing. + - gh-112405: Optimize pathlib.PurePath.relative_to(). Patch by + Alex Waygood. + - gh-94722: Fix bug where comparison between instances of DocTest + fails if one of them has None as its lineno. + - gh-112361: Speed up a small handful of pathlib methods by + removing some temporary objects. + - gh-112345: Improve error message when trying to call + issubclass() against a typing.Protocol that has non-method + members. Patch by Randolf Scholz. + - gh-112137: Change dis output to display no-lineno as “–” instead + of “None”. + - gh-112332: Deprecate the exc_type field of + traceback.TracebackException. Add exc_type_str to replace it. + - gh-81620: Add extra tests for random.binomialvariate() + - gh-112292: Fix a crash in readline when imported from a sub + interpreter. Patch by Anthony Shaw + - gh-77621: Slightly improve the import time of the pathlib module + by deferring some imports. Patch by Barney Gale. + - gh-112137: Change dis output to display logical labels for jump + targets instead of offsets. + - gh-112139: Add Signature.format() to format signatures to string + with extra options. And use it in pydoc to render more readable + signatures that have new lines between parameters. + - gh-112105: Make readline.set_completer_delims() work with + libedit + - gh-106922: Display multiple lines with traceback when errors + span multiple lines. + - gh-111874: When creating a typing.NamedTuple class, ensure + __set_name__() is called on all objects that define __set_name__ + and exist in the values of the NamedTuple class’s class + dictionary. Patch by Alex Waygood. + - gh-68166: Add support of the “vsapi” element type in + tkinter.ttk.Style.element_create(). + - gh-110275: Named tuple’s methods _replace() and __replace__() + now raise TypeError instead of ValueError for invalid keyword + arguments. + - gh-99367: Do not mangle sys.path[0] in pdb if safe_path is set + - gh-111615: Fix a regression caused by a fix to gh-93162 whereby + you couldn’t configure a QueueHandler without specifying + handlers. + - gh-75666: Fix the behavior of tkinter widget’s unbind() method + with two arguments. Previously, widget.unbind(sequence, funcid) + destroyed the current binding for sequence, leaving sequence + unbound, and deleted the funcid command. Now it removes only + funcid from the binding for sequence, keeping other commands, + and deletes the funcid command. It leaves sequence unbound only + if funcid was the last bound command. + - gh-67790: Implement basic formatting support (minimum width, + alignment, fill) for fractions.Fraction. + - gh-111049: Fix crash during garbage collection of the io.BytesIO + buffer object. + - gh-102980: Redirect the output of interact command of pdb to the + same channel as the debugger. Add tests and improve docs. + - gh-102988: email.utils.getaddresses() and + email.utils.parseaddr() now return ('', '') 2-tuples in more + situations where invalid email addresses are encountered instead + of potentially inaccurate values. Add optional strict parameter + to these two functions: use strict=False to get the old + behavior, accept malformed inputs. getattr(email.utils, + 'supports_strict_parsing', False) can be use to check if the + strict paramater is available. Patch by Thomas Dwyer and Victor + Stinner to improve the CVE-2023-27043 fix. + - gh-52161: cmd.Cmd.do_help() now cleans docstrings with + inspect.cleandoc() before writing them. Patch by Filip + Łapkiewicz. + - gh-82300: Add track parameter to + multiprocessing.shared_memory.SharedMemory that allows using + shared memory blocks without having to register with the POSIX + resource tracker that automatically releases them upon process + exit. + - gh-110109: Add private pathlib._PurePathBase class: a base class + for pathlib.PurePath that omits certain magic methods. It may be + made public (along with _PathBase) in future. + - gh-109858: Protect zipfile from “quoted-overlap” zipbomb. It now + raises BadZipFile when try to read an entry that overlaps with + other entry or central directory. + - gh-109786: Fix possible reference leaks and crash when re-enter + the __next__() method of itertools.pairwise. + - gh-91539: Small (10 - 20%) and trivial performance improvement + of urrlib.request.getproxies_environment(), typically useful + when there are many environment variables to go over. + - gh-103363: Add follow_symlinks keyword-only argument to + pathlib.Path.owner() and group(), defaulting to True. + - gh-102130: Support tab completion in cmd for editline. + - gh-99437: runpy.run_path() now decodes path-like objects, making + sure __file__ and sys.argv[0] of the module being run are always + strings. + - gh-104003: Add warnings.deprecated(), a decorator to mark + deprecated functions to static type checkers and to warn on + usage of deprecated classes and functions. See PEP 702. Patch by + Jelle Zijlstra. + - gh-103708: Make hardcoded python name, a configurable parameter + so that different implementations of python can override it + instead of making huge diffs in sysconfig.py + - gh-66515: mailbox.MH now supports folders that do not contain a + .mh_sequences file (e.g. Claws Mail IMAP-cache folders). Patch + by Serhiy Storchaka. + - gh-83162: Renamed re.error to PatternError for clarity, and kept + re.error for backward compatibility. Patch by Matthias + Bussonnier and Adam Chhina. + - gh-91133: Fix a bug in tempfile.TemporaryDirectory cleanup, + which now no longer dereferences symlinks when working around + file system permission errors. + - bpo-43153: On Windows, tempfile.TemporaryDirectory previously + masked a PermissionError with NotADirectoryError during + directory cleanup. It now correctly raises PermissionError if + errors are not ignored. Patch by Andrei Kulakov and Ken Jin. + - bpo-32731: getpass.getuser() now raises OSError for all failures + rather than ImportError on systems lacking the pwd module or + KeyError if the password database is empty. + - bpo-34321: mmap.mmap now has a trackfd parameter on Unix; if it + is False, the file descriptor specified by fileno will not be + duplicated. + - bpo-35332: The shutil.rmtree() function now ignores errors when + calling os.close() when ignore_errors is True, and os.close() no + longer retried after error. + - bpo-35928: io.TextIOWrapper now correctly handles the decoding + buffer after read() and write(). + - bpo-26791: shutil.move() now moves a symlink into a directory + when that directory is the target of the symlink. This provides + the same behavior as the mv shell command. The previous behavior + raised an exception. Patch by Jeffrey Kintscher. + - bpo-41422: Fixed memory leaks of pickle.Pickler and + pickle.Unpickler involving cyclic references via the internal + memo mapping. + - bpo-19821: The pydoc.ispackage() function has been deprecated. + - bpo-40262: The ssl.SSLSocket.recv_into() method no longer + requires the buffer argument to implement __len__ and supports + buffers with arbitrary item size. + - bpo-39912: warnings.filterwarnings() and warnings.simplefilter() + now raise appropriate exceptions instead of AssertionError. + Patch contributed by Rémi Lapeyre. + - bpo-37260: Fixed a race condition in shutil.rmtree() in which + directory entries removed by another process or thread while + shutil.rmtree() is running can cause it to raise + FileNotFoundError. Patch by Jeffrey Kintscher. + - bpo-36959: Fix some error messages for invalid ISO format string + combinations in strptime() that referred to directives not + contained in the format string. Patch by Gordon P. Hemsley. + - bpo-18060: Fixed a class inheritance issue that can cause + segfaults when deriving two or more levels of subclasses from a + base class of Structure or Union. + - bpo-29779: Add a new PYTHON_HISTORY environment variable to set + the location of a .python_history file. + - bpo-21360: mailbox.Maildir now ignores files with a leading dot. + - Documentation + - gh-111699: Relocate smtpd deprecation notice to its own section + rather than under locale in What’s New in Python 3.12 document + - gh-110746: Improved markup for valid options/values for methods + ttk.treeview.column and ttk.treeview.heading, and for Layouts. + - gh-95649: Document that the asyncio module contains code taken + from v0.16.0 of the uvloop project, as well as the required MIT + licensing information. + - Tests + - gh-111798: Disable test_super_deep() from test_call under + pydebug builds on WASI; the stack depth is too small to make the + test useful. + - gh-111801: Lower the recursion limit in test_isinstance for + test_infinitely_many_bases(). This prevents a stack overflow on + a pydebug build of WASI. + - gh-111802: Specify a low recursion depth for test_bad_getattr() + in test.pickletester to avoid exhausting the stack under a + pydebug build for WASI. + - gh-44626: Fix os.path.isabs() incorrectly returning True when + given a path that starts with exactly one (back)slash on + Windows. + - Fix pathlib.PureWindowsPath.is_absolute() incorrectly returning + False for some paths beginning with two (back)slashes. + - gh-113633: Use module state for the _testcapi extension module. + - gh-109980: Fix test_tarfile_vs_tar in test_shutil for macOS, + where system tar can include more information in the archive + than shutil.make_archive. + - gh-112769: The tests now correctly compare zlib version when + zlib.ZLIB_RUNTIME_VERSION contains non-integer suffixes. For + example zlib-ng defines the version as 1.3.0.zlib-ng. + - gh-112334: Adds a regression test to verify that vfork() is used + when expected by subprocess on vfork enabled POSIX systems + (Linux). + - gh-108927: Fixed order dependence in running tests in the same + process when a test that has submodules (e.g. test_importlib) + follows a test that imports its submodule (e.g. + test_importlib.util) and precedes a test (e.g. test_unittest or + test_compileall) that uses that submodule. + - bpo-40648: Test modes that file can get with chmod() on Windows. + - Build + - gh-114013: Fix Tools/wasm/wasi.py to not include the path to + python.wasm as part of HOSTRUNNER. The environment variable is + meant to specify how to run the WASI host only, having + python.wasm and relevant flags appended to the HOSTRUNNER. This + fixes make test work. + - gh-113258: Changed the Windows build to write out generated + frozen modules into the build tree instead of the source tree. + - gh-112305: Fixed the check-clean-src step performed on out of + tree builds to detect errant $(srcdir)/Python/frozen_modules/*.h + files and recommend appropriate source tree cleanup steps to get + a working build again. + - gh-112536: Add support for thread sanitizer (TSAN) + - gh-112867: Fix the build for the case that + WITH_PYMALLOC_RADIX_TREE=0 set. + - gh-103065: Introduce Tools/wasm/wasi.py to simplify doing a WASI + build. + - bpo-11102: The os.major(), os.makedev(), and os.minor() + functions are now available on HP-UX v3. + - bpo-36351: Do not set ipv6type when cross-compiling. + - IDLE + - gh-72284: Improve the lists of features, editor key bindings, + and shell key bingings in the IDLE doc. + - gh-113903: Fix rare failure of test.test_idle, in + test_configdialog. + - gh-113729: Fix the “Help -> IDLE Doc” menu bug in 3.11.7 and + 3.12.1. + - gh-113269: Fix test_editor hang on macOS Catalina. + - gh-112898: Fix processing unsaved files when quitting IDLE on + macOS. + - bpo-13586: Enter the selected text when opening the “Replace” + dialog. + - C API + - gh-106560: Fix redundant declarations in the public C API. + Declare PyBool_Type, PyLong_Type and PySys_Audit() only once. + Patch by Victor Stinner. + - gh-112438: Fix support of format units “es”, “et”, “es#”, and + “et#” in nested tuples in PyArg_ParseTuple()-like functions. + - gh-111545: Add Py_HashPointer() function to hash a pointer. + Patch by Victor Stinner. + - gh-65210: Change the declaration of the keywords parameter of + PyArg_ParseTupleAndKeywords() and + PyArg_VaParseTupleAndKeywords() for better compatibility with + C++. + +- Refresh all patches + - F00251-change-user-install-location.patch + - bpo-31046_ensurepip_honours_prefix.patch + - fix_configure_rst.patch + - no-skipif-doctests.patch + - python-3.3.0b1-fix_date_time_compiler.patch + - python-3.3.0b1-localpath.patch + - python-3.3.0b1-test-posix_fadvise.patch + - skip-test_pyobject_freed_is_freed.patch + - subprocess-raise-timeout.patch + ------------------------------------------------------------------- Sat Nov 25 16:10:53 UTC 2023 - Matej Cepl diff --git a/python313.spec b/python313.spec index 19d5d90..c4fb30b 100644 --- a/python313.spec +++ b/python313.spec @@ -105,7 +105,7 @@ %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %bcond_without profileopt Name: %{python_pkg_name}%{psuffix} -Version: 3.13.0a2 +Version: 3.13.0a3 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -415,19 +415,19 @@ other applications. %prep %setup -q -n %{tarname} -%patch02 -p1 -%patch07 -p1 -%patch08 -p1 -%patch09 -p1 -%patch15 -p1 -%patch29 -p1 +%patch -P 02 -p1 +%patch -P 07 -p1 +%patch -P 08 -p1 +%patch -P 09 -p1 +%patch -P 15 -p1 +%patch -P 29 -p1 # %%if 0%%{?suse_version} <= 1500 -%patch33 -p1 +%patch -P 33 -p1 # %%endif # %%if 0%%{?sle_version} && 0%%{?sle_version} <= 150300 -%patch34 -p1 +%patch -P 34 -p1 # %%endif -%patch35 -p1 +%patch -P 35 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac diff --git a/skip-test_pyobject_freed_is_freed.patch b/skip-test_pyobject_freed_is_freed.patch index fa89b27..6c7d4a3 100644 --- a/skip-test_pyobject_freed_is_freed.patch +++ b/skip-test_pyobject_freed_is_freed.patch @@ -2,10 +2,10 @@ Lib/test/test_capi/test_mem.py | 1 + 1 file changed, 1 insertion(+) -Index: Python-3.13.0a1/Lib/test/test_capi/test_mem.py +Index: Python-3.13.0a3/Lib/test/test_capi/test_mem.py =================================================================== ---- Python-3.13.0a1.orig/Lib/test/test_capi/test_mem.py -+++ Python-3.13.0a1/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) def test_pyobject_forbidden_bytes_is_freed(self): self.check_pyobject_is_freed('check_pyobject_forbidden_bytes_is_freed') diff --git a/subprocess-raise-timeout.patch b/subprocess-raise-timeout.patch index bf5b593..02a07a8 100644 --- a/subprocess-raise-timeout.patch +++ b/subprocess-raise-timeout.patch @@ -2,10 +2,10 @@ Lib/test/test_subprocess.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -Index: Python-3.13.0a1/Lib/test/test_subprocess.py +Index: Python-3.13.0a3/Lib/test/test_subprocess.py =================================================================== ---- Python-3.13.0a1.orig/Lib/test/test_subprocess.py -+++ Python-3.13.0a1/Lib/test/test_subprocess.py +--- Python-3.13.0a3.orig/Lib/test/test_subprocess.py ++++ Python-3.13.0a3/Lib/test/test_subprocess.py @@ -281,7 +281,8 @@ class ProcessTestCase(BaseTestCase): "time.sleep(3600)"], # Some heavily loaded buildbots (sparc Debian 3.x) require