- 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python313?expand=0&rev=51
This commit is contained in:
2024-10-01 15:47:09 +00:00
committed by Git OBS Bridge
parent ed950ec431
commit b7221c02d8
10 changed files with 143 additions and 85 deletions

View File

@@ -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')])

BIN
Python-3.13.0rc2.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@@ -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-----

BIN
Python-3.13.0rc3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -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-----

View File

@@ -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")

View File

@@ -1,45 +0,0 @@
From a4b73ddc0d395ec2e4d2e15637be8e1b51f35f22 Mon Sep 17 00:00:00 2001
From: Sergey B Kirpichev <skirpichev@gmail.com>
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),

View File

@@ -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:

View File

@@ -1,3 +1,112 @@
-------------------------------------------------------------------
Tue Oct 1 15:40:31 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- 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 its
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 <page up>, <page down>, and <delete>
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 types 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 <daniel.garcia@suse.com>

View File

@@ -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