diff --git a/CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch b/CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch index 5424315..1fcc621 100644 --- a/CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch +++ b/CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch @@ -6,7 +6,7 @@ --- a/Lib/test/test_pyexpat.py +++ b/Lib/test/test_pyexpat.py -@@ -794,6 +794,10 @@ class ReparseDeferralTest(unittest.TestC +@@ -791,6 +791,10 @@ class ReparseDeferralTest(unittest.TestC self.assertEqual(started, ['doc']) def test_reparse_deferral_disabled(self): @@ -43,7 +43,7 @@ def checkwarnings(*filters, quiet=False): def decorator(test): def newtest(*args, **kwargs): -@@ -1424,9 +1429,11 @@ class XMLPullParserTest(unittest.TestCas +@@ -1504,9 +1509,11 @@ class XMLPullParserTest(unittest.TestCas self.assert_event_tags(parser, [('end', 'root')]) self.assertIsNone(parser.close()) @@ -55,7 +55,7 @@ def test_simple_xml_chunk_5(self): self.test_simple_xml(chunk_size=5, flush=True) -@@ -1651,6 +1658,9 @@ class XMLPullParserTest(unittest.TestCas +@@ -1731,6 +1738,9 @@ class XMLPullParserTest(unittest.TestCas self.assert_event_tags(parser, [('end', 'doc')]) diff --git a/Python-3.13.0rc2.tar.xz b/Python-3.13.0rc2.tar.xz deleted file mode 100644 index 5b34990..0000000 --- a/Python-3.13.0rc2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d60e8b7c10de4f71d2dffaf7c7be8efa54dc1e532fe931dbb84e5f625709e237 -size 21055084 diff --git a/Python-3.13.0rc2.tar.xz.asc b/Python-3.13.0rc2.tar.xz.asc deleted file mode 100644 index 3970b4e..0000000 --- a/Python-3.13.0rc2.tar.xz.asc +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmbbgTdfFIAAAAAALgAo -aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx -Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6 -YwUUpBAAnxUxwaFw3/XLw+5v3k2cbtzPtRmLtg81LlJ2bD5VG+RlCjbwHK03FghH -kr4YILbFXN51mT0p2XtrXnd1WRYOIWTxXQ7jji02KY6OBlIordpa0KL415R+Y0O6 -fvS4sn9r5Ww8TMGHthGeN1boMjtFUHHRZKNUmIzVWihjxQX6UiPVcb9ezM2WDbhI -hmGtyEq7KLYwl9GTW/YlsAQXyVvveePgr6PrMjRRquOSVL2vD+ZA8qrQvzWYCza6 -jDa2+6jrFlE6PpbCUDoRMDagjU2gEG9DllSziayh3aqMHG2fVbEqzLtBHl9EJ7IL -yOkhgVVmqus52O5P0YhDDp2fkSxs2JgrXiF2Dd2UTIKKrFQkxmknoj/ScyyeajAj -ymqf1CZf3ydhpEng+HGpnU+vWBnQA+v7BZBQXaoPGvMzTeNy1cn5JPTFFkcKXKDE -jX8AzV82+OHnZ/80tLNTNCyFQNStKF2CNrHR1gnMAcgQTaJOlp4NMD3nC88WQlpx -M4HC/yXq4556AaAzv0CctfzMLejvwmszMxbADHI4FcS7BJO85WsSXH3pnAx3Gfgg -5NSEMB1ZAsoS9WbkxTkgaJOT9fHmf86S/sdx4W1zBetmag11bTVWHJwbE9z5V0YQ -+fwQYVsi+ecgs3mL7vJzg8vEpJ33O2/y4vqySQYZRA4aIKn9Ks0= -=dHr3 ------END PGP SIGNATURE----- diff --git a/Python-3.13.0rc3.tar.xz b/Python-3.13.0rc3.tar.xz new file mode 100644 index 0000000..1c80346 --- /dev/null +++ b/Python-3.13.0rc3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8bc790185af1cb77b75c01cbc1aa642dfdcf97a370d2d10090bc7baa70da57e +size 22527884 diff --git a/Python-3.13.0rc3.tar.xz.asc b/Python-3.13.0rc3.tar.xz.asc new file mode 100644 index 0000000..525f1fd --- /dev/null +++ b/Python-3.13.0rc3.tar.xz.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEcWlgX2LHUTVtBUomqCHmgOX6YwUFAmb7fRlfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDcx +Njk2MDVGNjJDNzUxMzU2RDA1NEEyNkE4MjFFNjgwRTVGQTYzMDUACgkQqCHmgOX6 +YwUnFA/9FXmPquEtA/iRT0ODfuU8WoJhevG7qGnKMuRstNhj4xIaOu93HnjtYcAb +EUxOIZvMbIXIv364jDbxL+r/8iUlGYsEW0KbJpZ8c0pJ0Rz+ENewdSUVzcbRwtTJ +GG5OCbB8TgjhKclhOVlBhSoJCcU9ZFgco2Arylcn982OkZiDqHQAjk242kpy+E86 +8tvPf51v3bXR9RZOon2R88KfuAXUESItUtQKzj0tAIEKPMT0+9VJUtZm855phxml +dv9pPq11dLshHuSMbfIEKB/3zixPxnN2v9HI7mminFjvAUlPMbCX8Pc9SgEszVzF +tEoYSmMioG+yAc4I2EW2AgIjUH+Z5a3OiMDjEFMReL5KrujvT4MpyTdf+b/Vk3Nx +2x1Vg/XIWQtaZbjiMmBtwsCfGkaDSbAmi0vU4vTY5ATr45BpRXKb/thpnluFE53T +BQza+Cr0cJvUJo+N2JSpIOhoRyjqSwKDMcVDAv7UIF97KH0UidJhuTR6MZ9Jp4SF +ko5EtIpTrKfZto+UIdt8qaTjvO5oyNt9ZydKdRgRtvyaGrpD4mzWKUhqJlbwX8pW +m+4fbOK/kTFQEHS5J0h36oayiXmEzZ5TU4e9e1eT91Vi96vPVQL9oM374MEeDSEM +zpVdIHo6BbVbh1gzaAhG+bGU+BaUSRjn6rhYfPu6FItRB63P3K4= +=bHdr +-----END PGP SIGNATURE----- diff --git a/fix-test-recursion-limit-15.6.patch b/fix-test-recursion-limit-15.6.patch index 4ec26b5..0bb1efa 100644 --- a/fix-test-recursion-limit-15.6.patch +++ b/fix-test-recursion-limit-15.6.patch @@ -2,11 +2,9 @@ Lib/test/test_compile.py | 5 +++++ 1 file changed, 5 insertions(+) -Index: Python-3.13.0rc2/Lib/test/test_compile.py -=================================================================== ---- Python-3.13.0rc2.orig/Lib/test/test_compile.py -+++ Python-3.13.0rc2/Lib/test/test_compile.py -@@ -20,6 +20,9 @@ from test.support import (script_helper, +--- a/Lib/test/test_compile.py ++++ b/Lib/test/test_compile.py +@@ -21,6 +21,9 @@ from test.support import (script_helper, from test.support.bytecode_helper import instructions_with_positions from test.support.os_helper import FakePath @@ -16,7 +14,7 @@ Index: Python-3.13.0rc2/Lib/test/test_compile.py class TestSpecifics(unittest.TestCase): def compile_single(self, source): -@@ -116,6 +119,7 @@ class TestSpecifics(unittest.TestCase): +@@ -117,6 +120,7 @@ class TestSpecifics(unittest.TestCase): self.assertEqual(d['z'], 12) @unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI") @@ -24,7 +22,7 @@ Index: Python-3.13.0rc2/Lib/test/test_compile.py def test_extended_arg(self): repeat = int(get_c_recursion_limit() * 0.9) longexpr = 'x = x or ' + '-x' * repeat -@@ -687,6 +691,7 @@ class TestSpecifics(unittest.TestCase): +@@ -688,6 +692,7 @@ class TestSpecifics(unittest.TestCase): @support.cpython_only @unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI") diff --git a/gh-124040-fix-test-math-i586.patch b/gh-124040-fix-test-math-i586.patch deleted file mode 100644 index 7a60ea3..0000000 --- a/gh-124040-fix-test-math-i586.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a4b73ddc0d395ec2e4d2e15637be8e1b51f35f22 Mon Sep 17 00:00:00 2001 -From: Sergey B Kirpichev -Date: Fri, 13 Sep 2024 13:10:39 +0300 -Subject: [PATCH 1/4] gh-124040: simplify two hypot tests - -One-argument form is enough to test L2636 and compare computed -values exactly. ---- - Lib/test/test_math.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: Python-3.13.0rc2/Lib/test/test_math.py -=================================================================== ---- Python-3.13.0rc2.orig/Lib/test/test_math.py -+++ Python-3.13.0rc2/Lib/test/test_math.py -@@ -809,11 +809,13 @@ class MathTests(unittest.TestCase): - # Test allowable types (those with __float__) - self.assertEqual(hypot(12.0, 5.0), 13.0) - self.assertEqual(hypot(12, 5), 13) -- self.assertEqual(hypot(1, -1), math.sqrt(2)) -- self.assertEqual(hypot(1, FloatLike(-1.)), math.sqrt(2)) -+ self.assertEqual(hypot(0.75, -1), 1.25) -+ self.assertEqual(hypot(-1, 0.75), 1.25) -+ self.assertEqual(hypot(0.75, FloatLike(-1.)), 1.25) -+ self.assertEqual(hypot(FloatLike(-1.), 0.75), 1.25) - self.assertEqual(hypot(Decimal(12), Decimal(5)), 13) - self.assertEqual(hypot(Fraction(12, 32), Fraction(5, 32)), Fraction(13, 32)) -- self.assertEqual(hypot(bool(1), bool(0), bool(1), bool(1)), math.sqrt(3)) -+ self.assertEqual(hypot(True, False, True, True, True), 2.0) - - # Test corner cases - self.assertEqual(hypot(0.0, 0.0), 0.0) # Max input is zero -@@ -969,9 +971,9 @@ class MathTests(unittest.TestCase): - self.assertEqual(dist((D(14), D(1)), (D(2), D(-4))), D(13)) - self.assertEqual(dist((F(14, 32), F(1, 32)), (F(2, 32), F(-4, 32))), - F(13, 32)) -- self.assertEqual(dist((True, True, False, True, False), -- (True, False, True, True, False)), -- sqrt(2.0)) -+ self.assertEqual(dist((True, True, False, False, True, True), -+ (True, False, True, False, False, False)), -+ 2.0) - - # Test corner cases - self.assertEqual(dist((13.25, 12.5, -3.25), diff --git a/python-3.3.0b1-test-posix_fadvise.patch b/python-3.3.0b1-test-posix_fadvise.patch index ea69182..81c0deb 100644 --- a/python-3.3.0b1-test-posix_fadvise.patch +++ b/python-3.3.0b1-test-posix_fadvise.patch @@ -2,11 +2,9 @@ Lib/test/test_posix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -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): +--- a/Lib/test/test_posix.py ++++ b/Lib/test/test_posix.py +@@ -435,7 +435,7 @@ class PosixTester(unittest.TestCase): def test_posix_fadvise(self): fd = os.open(os_helper.TESTFN, os.O_RDONLY) try: diff --git a/python313.changes b/python313.changes index 6bf767f..2196c27 100644 --- a/python313.changes +++ b/python313.changes @@ -1,3 +1,112 @@ +------------------------------------------------------------------- +Tue Oct 1 15:40:31 UTC 2024 - Matej Cepl + +- Update to 3.13.0~rc3: + - The most important change is rolling back the incremental + cyclic garbage collector (GC), which was added in one of + the alpha releases. The incremental GC had more significant + performance regressions in specific workloads than we + expected. + - Tests + - gh-124378: Updated test_ttk to pass with Tcl/Tk 8.6.15. + - Library + - gh-124538: Fixed crash when using gc.get_referents() on a + capsule object. + - gh-124498: Fix typing.TypeAliasType not to be generic, when + type_params is an empty tuple. + - gh-123017: Due to unreliable results on some devices, + time.strftime() no longer accepts negative years on + Android. + - gh-123014: os.pidfd_open() and signal.pidfd_send_signal() + are now unavailable when building against Android API + levels older than 31, since the underlying system calls may + cause a crash. + - gh-124248: Fixed potential crash when using struct to + process zero-width ‘Pascal string’ fields (0p). + - gh-87041: Fix a bug in argparse where lengthy subparser + argument help is incorrectly indented. + - gh-124212: Fix invalid variable in venv handling of failed + symlink on Windows + - gh-124171: Add workaround for broken fmod() implementations + on Windows, that loose zero sign (e.g. fmod(-10, 1) returns + 0.0). Patch by Sergey B Kirpichev. + - gh-123934: Fix unittest.mock.MagicMock reseting magic + methods return values after .reset_mock(return_value=True) + was called. + - gh-123968: Fix the command-line interface for the random + module to select floats between 0 and N, not 1 and N. + - gh-123892: Add "_wmi" to sys.stdlib_module_names. Patch by + Victor Stinner. + - gh-123339: Fix inspect.getsource() for classes + in collections.abc and decimal (for pure Python + implementation) modules. inspect.getcomments() now raises + OSError instead of IndexError if the __firstlineno__ value + for a class is out of bound. + - gh-121735: When working with zip archives, + importlib.resources now properly honors module-adjacent + references (e.g. files(pkg.mod) and not just files(pkg)). + - gh-122145: Fix an issue when reporting tracebacks + corresponding to Python code emitting an empty AST + body. Patch by Nikita Sobolev and Bénédikt Tran. + - gh-119004: Fix a crash in OrderedDict.__eq__ when operands + are mutated during the check. Patch by Bénédikt Tran. + - bpo-44864: Do not translate user-provided strings in + argparse.ArgumentParser. + - IDLE + - gh-112938: Fix uninteruptable hang when Shell gets rapid + continuous output. + - gh-120104: Fix padding in config and search dialog windows + in IDLE. + - Documentation + - gh-124720: Update “Using Python on a Mac” section of the + “Python Setup and Usage” document and include information + on installing free-threading support. + - gh-116622: Add an Android platform guide, and flag modules + not available on Android. + - Core and Builtins + - gh-124567: Revert the incremental GC (in 3.13), since it’s + not clear the benefits outweigh the costs at this point. + - gh-124642: Fixed scalability issue in free-threaded builds + for lock-free reads from dictionaries in multi-threaded + scenarios + - gh-116510: Fix a bug that can cause a crash when + sub-interpreters use “basic” single-phase extension + modules. Shared objects could refer to PyGC_Head nodes that + had been freed as part of interpreter cleanup. + - gh-124547: When deallocating an object with inline values + whose __dict__ is still live: if memory allocation for the + inline values fails, clear the dictionary. Prevents an + interpreter crash. + - gh-124513: Fix a crash in FrameLocalsProxy constructor: + check the number of arguments. Patch by Victor Stinner. + - gh-124442: Fix nondeterminism in compilation by sorting the + value of __static_attributes__. Patch by kp2pml30. + - gh-123856: Fix PyREPL failure when a keyboard interrupt is + triggered after using a history search + - gh-65961: Document the deprecation of setting and using + __package__ and __cached__. + - gh-124027: Support , , and + keys in the Python REPL when $TERM is set to vt100. + - gh-77894: Fix possible crash in the garbage collector when + it tries to break a reference loop containing a memoryview + object. Now a memoryview object can only be cleared if + there are no buffers that refer it. + - gh-123339: Setting the __module__ attribute for a class now + removes the __firstlineno__ item from the type’s dict, so + they will no longer be inconsistent. + - C API + - gh-124160: Fix crash when importing modules containing + state and single-phase initialization in a subinterpreter. + - gh-123880: Fixed a bug that prevented circular imports of + extension modules that use single-phase initialization. + - Build + - gh-124487: Windows builds now use Windows 8.1 as their API + baseline (installation already required Windows 8.1). + - gh-124043: Building using --with-trace-refs is + (temporarily) disallowed when the GIL is disabled. +- Remove upstreamed patch: + - gh-124040-fix-test-math-i586.patch + ------------------------------------------------------------------- Thu Sep 12 12:05:43 UTC 2024 - Daniel Garcia diff --git a/python313.spec b/python313.spec index 57a6f80..5ee7999 100644 --- a/python313.spec +++ b/python313.spec @@ -149,8 +149,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.13.0~rc2 -%define tarversion 3.13.0rc2 +Version: 3.13.0~rc3 +%define tarversion 3.13.0rc3 %define tarname Python-%{tarversion} Release: 0 Summary: Python 3 Interpreter @@ -214,8 +214,6 @@ Patch39: CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch # PATCH-FIX-OPENSUSE fix-test-recursion-limit-15.6.patch gh#python/cpython#115083 # Skip some failing tests in test_compile for i586 arch in 15.6. Patch40: fix-test-recursion-limit-15.6.patch -# PATCH-FIX-UPSTREAM gh-124040-fix-test-math-i586.patch gh#python/cpython#124042 -Patch41: gh-124040-fix-test-math-i586.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes