Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python315 for openSUSE:Factory checked in at 2026-06-29 17:30:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python315 (Old) and /work/SRC/openSUSE:Factory/.python315.new.11887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python315" Mon Jun 29 17:30:38 2026 rev:15 rq:1362257 version:3.15.0~b3 Changes: -------- --- /work/SRC/openSUSE:Factory/python315/python315.changes 2026-06-22 17:29:55.606764465 +0200 +++ /work/SRC/openSUSE:Factory/.python315.new.11887/python315.changes 2026-06-29 17:31:41.276750675 +0200 @@ -1,0 +2,234 @@ +Sun Jun 28 17:41:25 UTC 2026 - Matej Cepl <[email protected]> + +- Update to 3.15.0~b3: + - Security + - gh-151544: Modules/Setup.local is no longer used as + a landmark to discover whether Python is running in + a source tree, as it could potentially affect actual + installs. The pybuilddir.txt file is now the sole indicator + of running in a source tree. + - gh-151159: Update macOS installer to use OpenSSL 3.5.7. + - gh-151159: Update Android and iOS installers to use OpenSSL + 3.5.7. + - gh-150599: Fix a possible stack buffer overflow in bz2 when + a bz2.BZ2Decompressor is reused after a decompression + error. The decompressor now becomes unusable after libbz2 + reports an error. + - gh-149835: shutil.move() now resolves symlinks via + os.path.realpath() when checking whether the destination is + inside the source directory, preventing a symlink-based + bypass of that guard. + - Core and Builtins + - gh-151905: Fix OOM error handling in PyFrame_GetBack() to + propagate exceptions instead of masking them as None. + - gh-151722: Defer GC tracking of frozendict to end of + construction. Patch by Donghee Na. + - gh-151546: Fix the stack limit check if Python is linked to + musl (ex: Alpine Linux). Use the stack size set by the + linker to compute the stack limits. Patch by Victor + Stinner. + - gh-151510: Fix a crash in __lazy_import__() when called + without an explicit globals argument and without a current + Python frame. + - gh-151461: Fix direct execution of files with invalid + source encodings to report the underlying codec lookup or + decoding error instead of the generic SyntaxError: encoding + problem message. Patch by Bartosz Sławecki. + - gh-151218: PyConfig_Set() and sys.set_int_max_str_digits() + now replace sys.flags (create a new object), instead of + modifying sys.flags in-place. Patch by Victor Stinner. + - gh-151297: Fix an invalid pointer dereference that could + occur when calling PyObject_Realloc() with a NULL pointer + in free-threaded builds or with PYTHONMALLOC set to + mimalloc. + - gh-151253: If import encodings (first import) fails at + Python startup, dump the Python path configuration to help + users debugging their configuration. Patch by Victor + Stinner. + - gh-151238: Fix a crash when compiling a concatenated + f-string or t-string if an error occurs when processing one + of it’s parts. + - gh-151112: Fix a crash in the compiler that could occur + when running out of memory. + - gh-151126: Fix a crash, when there’s no memory left on + a device, which happened in: code compilation, + _interpchannels module, _winapi.CreateProcess() function. + - Now these places raise proper MemoryError errors. + - gh-150902: Apply an existing optimization of + PyCriticalSection (single mutex) to PyCriticalSection2: + avoid acquiring the same locks that the current CS has + already acquired. + - gh-151065: Fix memory leak when using the mimalloc memory + allocator. + - gh-150988: Fix a reference leak in OSError when attributes + are set before super().__init__(). + - gh-150723: Fix perf jitdump timestamps on macOS. Events + were stamped using CLOCK_MONOTONIC, but macOS profilers + timestamp their samples with mach_absolute_time(). The + mismatch prevented the JIT code mappings from lining up + with the samples, so no Python frame could be resolved. + - gh-150723: Fix malformed perf jitdump thread ids on macOS. + The thread_id field of the JR_CODE_LOAD record was written + as a 64-bit value instead of the 32-bit value required by + the jitdump format, which shifted every following field and + prevented profilers from resolving Python frames. + - gh-150700: Fix a SystemError when compiling a class-scope + comprehension containing a lambda that references + __class__, __classdict__, or __conditional_annotations__. + Patch by Bartosz Sławecki. + - gh-150633: Fix the frozen importer accepting module names + with embedded null bytes, which caused it to bypass the + sys.modules cache and create duplicate module objects. + - gh-148613: Fix a data race in the free-threaded build + between gc.set_threshold() and garbage collection + scheduling during object allocation. + - gh-150207: Fix a crash when a memory allocation fails + during tokenizer initialization. A proper MemoryError is + now raised instead. + - gh-149805: Fix a SystemError when compiling a compiling + __classdict__ class annotation. Found by OSS-Fuzz in + #512907042. + - gh-149321: Do not support none as a lazy imports mode. + - Library + - gh-75666: Fix a reference leak in tkinter: the Tcl commands + created for event callbacks are now deleted when a binding + is replaced or unbound. + - gh-151770: Fix datetime.datetime.fromisoformat() raising + AssertionError instead of ValueError for an out-of-range + month combined with a 24:00 time. + - gh-151665: inspect.signature() now works on the lazy + evaluators of type aliases and type parameters instead of + raising ValueError. + - gh-151695: Fix a use-after-free in the curses module. The + encoding of the initial screen, used by curses.unctrl() and + curses.ungetch() to encode non-ASCII characters, is now + kept as a private copy instead of a borrowed pointer to + a window object that may be deallocated. + - gh-151436: Fix skewed stack trackes in the Tachyon profiler + when caching is enabled and when generators and coroutines + are profiled, by updating tstate->last_profiled_frame at + every frame-removal site. The issue resulted in total + erasure of some callers. Patch by Maurycy + Pawłowski-Wieroński. + - gh-151426: Fix impossible stack traces (callers and callees + cross called, orphans and incorrect lines) in the Tachyon + profiler when caching frames, by snapshotting the stack + chunks before walking the frame chain on a cache miss. + Patch by Maurycy Pawłowski-Wieroński. + - gh-151403: Fixed a crash in subprocess.Popen (and + _posixsubprocess.fork_exec) when an argv item’s + __fspath__() concurrently mutates the args sequence being + converted. + - gh-151390: Colorize match in the REPL when followed by + a unary + or - operator. Patch by Bartosz Sławecki. + - gh-151126: Fix crash on unset MemoryError on allocation + failure in ctypes.get_errno(). + - gh-151337: Avoid possible memory leak in tkinter.c on + Windows. + - gh-151126: Fix a crash when MemoryError in + os._path_splitroot() was not set properly. + - gh-149671: Restore compatibility with setuptools -nspkg.pth + files in the site module. Inject sitedir variable in the + frame which executes pth code. Patch by Victor Stinner. + - gh-151295: Fixed a crash (use-after-free) in bytes.join() + and bytearray.join() that could occur if an item’s + __buffer__() concurrently mutates the sequence being + joined. The mutation is now reported as a RuntimeError + instead. + - gh-109940: Fix Windows venv activation in cmd.exe to + respect VIRTUAL_ENV_DISABLE_PROMPT. + - gh-150771: Fix email messages created with shift_jis or + euc-jp charsets. set_content() now stores the payload using + the output charset (iso-2022-jp) so printing the message no + longer raises UnicodeEncodeError. + - gh-151039: Fix a crash when static datetime types outlive + the _datetime module. + - gh-151021: Fix mmap.mmap.find() and rfind() to return -1 + when searching for an empty subsequence with a start + position past the end of the mapping. + - gh-62825: Encodings “KS_C_5601-1987”, “KS X 1001”, etc are + now aliases of “CP949” instead of “EUC-KR”. + - gh-150913: Fix sqlite3.Blob slice assignment to raise + TypeError and IndexError for type and size mismatches + respectively, even when the target slice is empty. + - gh-143008: Fix race conditions when re-initializing + a io.TextIOWrapper object. + - gh-150662: Fix the --gecko collector in profiling.sampling + that kept every sample in memory. It now writes sample and + marker data to temporary files and reads them back, + ultimately building the output file at the end. Patch by + Pablo Galindo and Maurycy Pawłowski-Wieroński. + - gh-150750: Fix a race condition in + collections.deque.index() with free-threading. + - gh-148932: Fix profiling.sampling on Windows virtual + environments to resolve the actual Python PID from + a virtual environment shim. + - gh-149816: Fix race condition in + ssl.SSLContext.sni_callback + - gh-53144: The email package now supports all aliases of + Python codecs and uses MIME/IANA names for all IANA + registered charsets. + - gh-149891: Add support for more encoding aliases officially + registered in IANA. + - gh-149473: Calling os.environ.clear() now emits + os._clearenv auditing event. Patch by Victor Stinner. + - gh-148954: Fix XML injection vulnerability in + xmlrpc.client.dumps() where the methodname was not being + escaped before interpolation into the XML body. + - gh-143988: Fixed crashes in socket.socket.sendmsg() and + socket.socket.recvmsg_into() that could occur if buffer + sequences are concurrently mutated. + - gh-120665: Fixed an issue where unittest loaders would load + and instantiate unittest.TestCase-derived subclasses that + are also abstract base classes, which can’t be + instantiated. + - gh-91099: imaplib.IMAP4.login() now raises exceptions with + str instead of bytes. Patch by Florian Best. + - gh-101267: When a worker process terminates unexpectedly, + concurrent.futures.ProcessPoolExecutor now sets a separate + BrokenProcessPool exception on each pending future instead + of sharing a single instance among them all. Sharing one + exception produced malformed tracebacks: each + Future.result() call re-raised the same object, appending + another copy of the traceback to it. + - Documentation + - gh-86726: Greatly expand the tkinter documentation to cover + the full public API of the package and its submodules. The + descriptions are oriented towards Python rather than + Tcl/Tk, with corrected return types and + versionadded/versionchanged information. + - gh-150319: Generic builtin and standard library types now + document the meaning of their type parameters. + - gh-109503: Fix documentation for shutil.move() on usage of + os.rename() since nonatomic move might be used even if the + files are on the same filesystem. Patch by Fang Li + - Tests + - gh-151130: Add more tests for PyWeakref_* C API. + - gh-150966: Avoid prematurely terminating failing live + sampling profiler test targets, which made stderr + assertions flaky on ASAN buildbots. + - gh-148853: Fix tests failing on FreeBSD in test.support’s + in_systemd_nspawn_sync_suppressed() due to unreadable /run + directory. + - Build + - gh-151163: Updated Android build to include SQLite version + 3.53.2. + - IDLE + - bpo-6699: Warn the user if a file will be overwritten when + saving. + - C API + - gh-141510: Add frozendict to the fast paths of + PyMapping_GetOptionalItem(), PyMapping_Keys(), + PyMapping_Values(), and PyMapping_Items(). + - gh-123619: PyUnstable_Object_EnableDeferredRefcount() now + returns 0 if the object is not tracked by the garbage + collector: if gc.is_tracked() is false. Patch by Victor + Stinner. + - gh-149044: Improved error message when specifying non-type + base classes in Py_tp_bases, Py_tp_base, and bases argument + to PyType_FromMetaclass() and other PyType_From* functions. + - gh-150907: Fix dynamic_annotations.h header file when built + with C++ and Valgrind: add extern "C++" scope for the C++ + template. Patch by Victor Stinner. + +------------------------------------------------------------------- @@ -231,17 +464,0 @@ - - Windows - - gh-149786: Fixes virtual environment launchers on Windows - free-threaded builds. - - gh-124111: Updated Windows builds to use Tcl/Tk 9.0.3. - - gh-138489: Windows distributions now include - a build-details.json file (see PEP 739). The legacy - installer does not install it, but all other distributions - from python.org and all preset configurations in the - PC\layout script will include one. - - gh-149029: Update Windows installer to ship with SQLite - 3.53.1. macOS - - gh-150644: When system logging is enabled (with - config.use_system_logger, messages are now tagged as - public. This allows the macOS 26 system logger to view - messages without special configuration. - - gh-149029: Update macOS installer to ship with SQLite - version 3.53.1. Old: ---- Python-3.15.0b2.tar.xz Python-3.15.0b2.tar.xz.sigstore New: ---- Python-3.15.0b3.tar.xz Python-3.15.0b3.tar.xz.sigstore ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python315.spec ++++++ --- /var/tmp/diff_new_pack.J8567b/_old 2026-06-29 17:31:43.224817182 +0200 +++ /var/tmp/diff_new_pack.J8567b/_new 2026-06-29 17:31:43.228817319 +0200 @@ -162,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.15.0~b2 -%define tarversion 3.15.0b2 +Version: 3.15.0~b3 +%define tarversion 3.15.0b3 %define tarname Python-%{tarversion} Release: 0 Summary: Python 3 Interpreter ++++++ Python-3.15.0b2.tar.xz -> Python-3.15.0b3.tar.xz ++++++ /work/SRC/openSUSE:Factory/python315/Python-3.15.0b2.tar.xz /work/SRC/openSUSE:Factory/.python315.new.11887/Python-3.15.0b3.tar.xz differ: char 26, line 1 ++++++ Python-3.15.0b2.tar.xz.sigstore -> Python-3.15.0b3.tar.xz.sigstore ++++++ --- /work/SRC/openSUSE:Factory/python315/Python-3.15.0b2.tar.xz.sigstore 2026-06-22 17:29:54.938741194 +0200 +++ /work/SRC/openSUSE:Factory/.python315.new.11887/Python-3.15.0b3.tar.xz.sigstore 2026-06-29 17:31:40.440722133 +0200 @@ -1 +1 @@ -{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIIDITCCAqigAwIBAgIUHmbBhF4jjLUnNhIYBQOaslMVLVcwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNjAyMTczNzE4WhcNMjYwNjAyMTc0NzE4WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc9ky2FHaaQVmok4Simv/MTtSopw0HT2hcHQV9oOEe3maDZwLx40MoaSdP9bK9XXmMXvhkayOur57o/w3BdUSkKOCAccwggHDMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUxLZW58R5scMTa7vy6bTB64E6EY0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABnolpRdMAAAQDAEcwRQIhAM+5vT4NOGsCNyGLCz/TDrO1zgYOrs8xiObIvfovVT9ZAiA35AKl kyUyJOeM8yu3EooPgS7Fr1Y0L5bf0REzALOUoTAKBggqhkjOPQQDAwNnADBkAjBT3eBc2Aw/JKi9BXgRMQgSszlrjhIfA9l5uom7XqI1s6p5gQuGHB6KnDbl4DUr1U4CMDodWR+9v7lzXLSeMVG9BLwYxTFyqS9njY+CY4IxPiXsvogPmNpiDWWixKXyeeNCeg=="}, "tlogEntries": [{"logIndex": "1704748907", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1780421838", "inclusionPromise": {"signedEntryTimestamp": "MEQCICoTZYb/zhz8nBCpFTa5ANq9sTHbSC29T1GftPeXr/hOAiB0vuT+/AXRFV84yCT73RrUSdFWQvwWom+xKEacI9WkuA=="}, "inclusionProof": {"logIndex": "1582844645", "rootHash": "6qFxnYkigNpj16EDZD+k7NqCl9640pVQ4J/frg3dLvs=", "treeSize": "1582844649", "hashes": ["IkkfGT8jyrnH8JpKqZKkbSvHZqHp0SVrI/L0BjWidNY=", "iCUhZkGsMAXG3kv+m9URwFYuGyuh699l30gQH9PWu0Y=", "jEVGS4SPNKbmu+0Vqe0jTYP4IM4wGoSOMJVM8fyX2s8=", "g54uvZZmxobSu+efV3YgDffHpdjhXbq441D+t7p6ScE=", "c22YuiwikvgC8esaDl3pEiEqW/XpeUO9zchCch8MOf0=", "KTIS+tDrIXAmVFZaKuO2SgNT8529T7RSFTjBntUR6O8=", "JVnVx8Ljeja9MpYH UG/8izinFj3wEDPqAgDuQKdzAvk=", "RIxhB9AOkIkGgOnQS4iYqdv7LFXTYVNv5vCRPqffdCs=", "2j/53VNmt2TlS4Aule6ZxCWbkKgdkA3ldjcko9eB5XY=", "Y6M44ZSYwlSfJEaEhk1PHbCdRZj7IOJIPF8z7N+kEGs=", "j1rCX1QuUdofyyxDgCkPUcpnuxAZYUdfYMdo3TkFRMc=", "SoJy6N97isYHMWJfw3FaePdu5dYWeCfXobH5//JNp+o=", "nASV631t7gYxGYgOJTrtSamCWnvYVtLAqzvU4X/rapA=", "NSkfjqosjcbjuITRR3k++3CKLDql/hao4MUycvdrMXc=", "hn+ppu7vwlSCi7W1L5Z750bpAdr+WUAJLSUnb8qLy3k=", "r5nn9+mbgUQL4m8neTg/XjYkdf2hD/cvZMsNR/v0cBU=", "eT+F471g2HJfd43U4j4L1PIBkt4rLbHQd/pOR/rllO0=", "DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n1582844649\n6qFxnYkigNpj16EDZD+k7NqCl9640pVQ4J/frg3dLvs=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiBaIQG9ageD2JjAIYIiq3Pi9b22MgFQH2kDUDod8qgoSwIhALl02jR180QymU8cqBfCo8VuxM0JcAevLzJ9cMxzOXPf\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkMTRmNDc0YWI2NzllOTBi YzczNGIwMmZmNTg0NDdiNmVjOTlhODIxYWY2MWQ2ZmYwYzFkYTBmODZlMzQxYTcxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNaNmd5VnkzOWEreXBHOXUzUlgrY1Y4Zi8vWVFTT1pQdDJoekpEYlkzSTVnSWhBUEY0d2JWOEFWK0lidVFFV2lHK0dRTy9YQVJsbWZybjUza0FrcFc0TS9PRiIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpWRU5EUVhGcFowRjNTVUpCWjBsVlNHMWlRbWhHTkdwcVRGVnVUbWhKV1VKUlQyRnpiRTFXVEZaamQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDVxUVhsTlZHTjZUbnBGTkZkb1kwNU5hbGwzVG1wQmVVMVVZekJPZWtVMFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZqT1d0NU1rWklZV0ZSVm0xdmF6UlRhVzEyTDAxVWRGTnZjSGN3U0ZReWFHTklVVllLT1c5UFJXVXpiV0ZFV25kTWVEUXdUVzloVTJSUU9XSkxPVmhZYlUxWWRtaHJZWGxQZFhJMU4yOHZkek5DWkZWVGEwdFBRMEZqWTNkblowaEVUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VV lY0VEZwWENqVTRValZ6WTAxVVlUZDJlVFppVkVJMk5FVTJSVmt3ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhV2RaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamhDU0c5QlpVRkNNa0ZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdWIyeHdVbVJOUVVGQlVVUkJSV04zVWxGSmFFRk5LelVLZGxRMFRrOUhjME5PZVVkTVEzb3ZWRVJ5VHpGNloxbFBjbk00ZUdsUFlrbDJabTkyVmxRNVdrRnBRVE0xUVV0c2EzbFZlVXBQWlUwNGVYVXpSVzl2VUFwblV6ZEdjakZaTUV3MVltWXdVa1Y2UVV4UFZXOVVRVXRDWjJkeGFHdHFUMUJSVV VSQmQwNXVRVVJDYTBGcVFsUXpaVUpqTWtGM0wwcExhVGxDV0dkU0NrMVJaMU56ZW14eWFtaEpaa0U1YkRWMWIyMDNXSEZKTVhNMmNEVm5VWFZIU0VJMlMyNUVZbXcwUkZWeU1WVTBRMDFFYjJSWFVpczVkamRzZWxoTVUyVUtUVlpIT1VKTWQxbDRWRVo1Y1ZNNWJtcFpLME5aTkVsNFVHbFljM1p2WjFCdFRuQnBSRmRYYVhoTFdIbGxaVTVEWldjOVBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}], "timestampVerificationData": {}}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "0U9HSrZ56QvHNLAv9YRHtuyZqCGvYdb/DB2g+G40GnE="}, "signature": "MEYCIQCZ6gyVy39a+ypG9u3RX+cV8f//YQSOZPt2hzJDbY3I5gIhAPF4wbV8AV+IbuQEWiG+GQO/XARlmfrn53kAkpW4M/OF"}} +{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIIDJDCCAqmgAwIBAgIUZQc8HC3BVCV8oJD7+JSYknD7hPowCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNjIzMTMzMTA0WhcNMjYwNjIzMTM0MTA0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMBfW6m5q1TX1g/9HQHZfDc/TSIxStahYmjRTSusJDlGLExH+ZiJg9rsWQ3NJXapI2IFL176UQLvoF2JXAiipFaOCAcgwggHEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU9sEAXij4s8GXLTCEYcXiTYKmkGIwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABnvStZHoAAAQDAEgwRgIhAKeQztx4T2Q7mrLnox/6r5XOLzRl3o96jm9MI9tN1ul5AiEAsgn9 xxbGC7C92sD8iH7Fn1Du/haNggNd84cX4H5LFZswCgYIKoZIzj0EAwMDaQAwZgIxANdoTu6n7pAIksnDkAowk+yMs+20S661gpaBs9Vu6+ykGgNLNw1AUBftVHIVr30+FAIxAKY0RGzkqB+qR9tkWvKUZe8DiaQUXemzuppFZe9UgKQOnVE1WhrLERcrs887+W+j7w=="}, "tlogEntries": [{"logIndex": "1927037556", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1782221466", "inclusionPromise": {"signedEntryTimestamp": "MEYCIQCxre/xAuSN6ClcY6uUNU9GCsydKPDVPbt9iY1NMmnn4AIhAKj2DG+As/B6dlQVT0JgOrBTT/3BB4445c+gAkwv7kyK"}, "inclusionProof": {"logIndex": "1805133294", "rootHash": "2tVzL0ysJ8SsCQco/2LiJeOoCzHTUxH9ZYMpcvsZb08=", "treeSize": "1805133379", "hashes": ["l7suGfCnLfypvggTM7KjKSJv2nFWCIbeiyJOJ3zH/YQ=", "KF4k30EVBMdfZGlDfxw+bKCRHAR9UWZzrS8mJKW8jGU=", "IevYAq+VKg0Yw29/zejEY7xfOWtuzgm0i8QCXDj09+U=", "KVNAcRMLmD1JWca/jAoTLpcmox+ciS5xTAkLLD+9ENM=", "jS9kaPoaLqzmJcVgi7kLkeMphEKS/4qEutpCo8e122s=", "prR7iKnWxftJ/sbK8jI4+HkAcFWLEHUAN3lFJxjkivE=", "ACppXOGZYC/V qCkdVkJQ1nhbOP6CUXTY3bdf/u1HyEQ=", "HctR1fjEs1pDGxGHvfyhLBNNAxi/IB8Kux5WEm4V6Ps=", "hYn41smhFjVSYc/5yTk11fIRgxQ1GjvwsIDAaqX2Bgs=", "9q1IekJxYyR+kMudPimESHf3+W/qxT8AogA4SSdS+cs=", "kr83lMoZ5gCq4EmPdP5CqTvhq9i9+nQjeQXdzwSqmSM=", "v8zdK/ozmFIwpIQFNSxTqyji3j3x5z8eT5M6Qa8b/Kc=", "ZXrex+0eF5KisPWFrbV4dU4sABvVX5VCWS6IPJzJTfI=", "+SdULakto7HyVLdyxex2WHH+ActKh/STEFaWrp8/9Ak=", "OMfDh4k9YD0E+t4sjqJsh+vg8D1ueo1cC07exyxmr6s=", "+vHKm4wNwGJ46ceyZ8mePD7Vn1SediStNHCStRoTSWQ=", "5HwWjuGNDisetbiWM0cWIXM65TIM3EJlqk13ntCQlcU=", "NDIRlqxO0IaGr94q86MIU7VCAN3yEEgOHS4loya5lu4=", "daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=", "DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n1805133379\n2tVzL0ysJ8SsCQco/2LiJeOoCzHTUxH9ZYMpcvsZb08=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiBKtWYtMfGakAPby2E0Z3nlx25LkB/UDLvLsMyPfaee6QIhAMmBxCwiQ5uAi6ZmzLffjqtvbcxCihw+NI7ilRzzTOS/\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVr b3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI2YTkzNWFlMjM0YTY3ZTY1NDk4OTQzNzNiMGNmZWI4MzYxMTgyZDAzYjIxNDQyMzI4YWU5NTk4YWI3NDIyMTI3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRG5FQ2grQm5pdnR2b3kvdTFHdFZIR1JSS1hsdGZmQkRCSHZKTkFNK2QxQUFpRUEvRTdkSno3SGNoM0ozYTYyaXpRQUZYQzYxeVRxRHFyWG1DdzFyVllKQlZzPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUktSRU5EUVhGdFowRjNTVUpCWjBsVldsRmpPRWhETTBKV1ExWTRiMHBFTnl0S1UxbHJia1EzYUZCdmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDVxU1hwTlZFMTZUVlJCTUZkb1kwNU5hbGwzVG1wSmVrMVVUVEJOVkVFd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZOUW1aWE5tMDFjVEZVV0RGbkx6bElVVWhhWmtSakwxUlRTWGhUZEdGb1dXMXFVbFFLVTNWelNrUnNSMHhGZUVncldtbEtaemx5YzFkUk0wNUtXR0Z3U1RKSlJrd3hOelpWVVV4MmIwWXlTbGhCYVdsd1JtRlBRMEZqWjNkblowaEZUVUUwUndwQk1WV mtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlU1YzBWQkNsaHBhalJ6T0VkWVRGUkRSVmxqV0dsVVdVdHRhMGRKZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhWGRaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamxDU0hOQlpWRkNNMEZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdWRsTjBXa2h2UVVGQlVVUkJSV2QzVW1kSmFFRkxaVkVLZW5SNE5GUXlVVGR0Y2t4dWIzZ3ZObkkxV0U5TWVsSnNNMjg1Tm1wdE9VMUpPWFJPTVhWc05VRnBSVU Z6WjI0NWVIaGlSME0zUXpreWMwUTRhVWczUmdwdU1VUjFMMmhoVG1kblRtUTROR05ZTkVnMVRFWmFjM2REWjFsSlMyOWFTWHBxTUVWQmQwMUVZVkZCZDFwblNYaEJUbVJ2VkhVMmJqZHdRVWxyYzI1RUNtdEJiM2RySzNsTmN5c3lNRk0yTmpGbmNHRkNjemxXZFRZcmVXdEhaMDVNVG5jeFFWVkNablJXU0VsV2NqTXdLMFpCU1hoQlMxa3dVa2Q2YTNGQ0szRUtVamwwYTFkMlMxVmFaVGhFYVdGUlZWaGxiWHAxY0hCR1dtVTVWV2RMVVU5dVZrVXhWMmh5VEVWU1kzSnpPRGczSzFjcmFqZDNQVDBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}], "timestampVerificationData": {}}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "apNa4jSmfmVJiUNzsM/rg2EYLQOyFEIyiulZirdCISc="}, "signature": "MEUCIDnECh+Bnivtvoy/u1GtVHGRRKXltffBDBHvJNAM+d1AAiEA/E7dJz7Hch3J3a62izQAFXC61yTqDqrXmCw1rVYJBVs="}} ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.J8567b/_old 2026-06-29 17:31:43.376822371 +0200 +++ /var/tmp/diff_new_pack.J8567b/_new 2026-06-29 17:31:43.380822508 +0200 @@ -1,6 +1,6 @@ -mtime: 1781728243 -commit: 7a9e7096519ee415e97198209ffee048a08e34c23e3cb2efab548f22ec1f7ec4 +mtime: 1782668971 +commit: 735232921896c0bf6d11d383dc7177fc290f819bf197ccd1dd46f8e1e023d92f url: https://src.opensuse.org/python-interpreters/python315 -revision: 7a9e7096519ee415e97198209ffee048a08e34c23e3cb2efab548f22ec1f7ec4 +revision: 735232921896c0bf6d11d383dc7177fc290f819bf197ccd1dd46f8e1e023d92f projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-06-28 19:49:31.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +python315-*-build/ ++++++ gh139257-Support-docutils-0.22.patch ++++++ --- /var/tmp/diff_new_pack.J8567b/_old 2026-06-29 17:31:43.572829063 +0200 +++ /var/tmp/diff_new_pack.J8567b/_new 2026-06-29 17:31:43.576829200 +0200 @@ -7,13 +7,13 @@ Doc/tools/extensions/pyspecific.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -Index: Python-3.15.0b2/Doc/tools/extensions/pyspecific.py +Index: Python-3.15.0b3/Doc/tools/extensions/pyspecific.py =================================================================== ---- Python-3.15.0b2.orig/Doc/tools/extensions/pyspecific.py 2026-06-02 17:28:41.000000000 +0200 -+++ Python-3.15.0b2/Doc/tools/extensions/pyspecific.py 2026-06-16 20:07:40.232951315 +0200 -@@ -24,6 +24,24 @@ - # Used in conf.py and updated here by python/release-tools/run_release.py - SOURCE_URI = 'https://github.com/python/cpython/tree/3.15/%s' +--- Python-3.15.0b3.orig/Doc/tools/extensions/pyspecific.py 2026-06-23 11:35:49.000000000 +0200 ++++ Python-3.15.0b3/Doc/tools/extensions/pyspecific.py 2026-06-28 19:48:47.327630390 +0200 +@@ -15,6 +15,24 @@ + from sphinx.domains.python import PyFunction, PyMethod + +# monkey-patch reST parser to disable alphabetic and roman enumerated lists +def _disable_alphabetic_and_roman(text): ++++++ skip-test_array_alignment.patch ++++++ --- /var/tmp/diff_new_pack.J8567b/_old 2026-06-29 17:31:43.668832341 +0200 +++ /var/tmp/diff_new_pack.J8567b/_new 2026-06-29 17:31:43.676832614 +0200 @@ -2,11 +2,11 @@ Lib/test/test_buffer.py | 1 + 1 file changed, 1 insertion(+) -Index: Python-3.15.0a8/Lib/test/test_buffer.py +Index: Python-3.15.0b3/Lib/test/test_buffer.py =================================================================== ---- Python-3.15.0a8.orig/Lib/test/test_buffer.py 2026-04-08 13:45:33.744093480 +0200 -+++ Python-3.15.0a8/Lib/test/test_buffer.py 2026-04-08 13:46:05.816521482 +0200 -@@ -4475,6 +4475,7 @@ +--- Python-3.15.0b3.orig/Lib/test/test_buffer.py 2026-06-28 19:48:36.440921387 +0200 ++++ Python-3.15.0b3/Lib/test/test_buffer.py 2026-06-28 19:48:57.270043217 +0200 +@@ -4491,6 +4491,7 @@ self.assertEqual([ptr % align for ptr in ptrs], [0]*len(ptrs)) @support.cpython_only
