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-09-10 11:48:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python315 (Old)
 and      /work/SRC/openSUSE:Factory/.python315.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python315"

Thu Sep 10 11:48:00 2026 rev:18 rq:1376612 version:3.15.0~rc2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python315/python315.changes      2026-08-01 
18:33:29.800434002 +0200
+++ /work/SRC/openSUSE:Factory/.python315.new.1265/python315.changes    
2026-09-10 11:51:02.373705503 +0200
@@ -1,0 +2,451 @@
+Wed Sep  2 20:01:38 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 3.15.0~rc2:
+  - Security
+    - gh-156723: Update bundled libexpat to version 2.8.4.
+    - gh-156002: Bound the amount of data zipfile decompresses
+      per read for members compressed with bzip2, LZMA, or
+      Zstandard, matching the existing limit for deflate. A small
+      archive member could previously expand into an unbounded
+      allocation even when read in small chunks (bsc#1277111,
+      CVE-2026-15310).
+    - gh-155999: Fix the tarfile tar and data extraction filters
+      creating directories outside the destination for members
+      whose name leaves the destination and returns to it, such
+      as ../evil/../dest/sub/file. The containment check used the
+      resolved path, but intermediate directories were created
+      from the name as given (bsc#1276227, CVE-2026-19672).
+    - gh-155292: Change the stringprep module and encodings.idna
+      codec to not consider Unicode codepoint attributes beyond
+      those defined in RFC 3454 (bsc#1276226, CVE-2026-17084).
+    - gh-155694: Fix CVE 2026-15806 by scoping HTTPPasswordMgr
+      credentials to the URL scheme, preventing credentials
+      stored for an HTTPS URL from being used for a matching HTTP
+      URL, while URIs without a scheme continue to match any
+      scheme (bsc#1276223, CVE-2026-15806).
+  - Core and Builtins
+    - gh-155725: tracemalloc no longer acquires the GIL nor
+      creates a temporary thread state to trace memory
+      allocations: traceback frames now store plain UTF-8 strings
+      instead of Python str objects, and tracebacks are captured
+      using the Python thread state already associated with the
+      calling thread, even if it is not attached. Threads without
+      a Python thread state record the traceback as <unknown>.
+    - gh-148750: encodings is no longer frozen, due to issues
+      importing submodules when using a zipped standard library.
+    - gh-155254: Avoid warning about missing standard library
+      when using _pth files.
+    - gh-155978: Fix a memory leak in the free-threaded build
+      when setting or deleting a special method (such as
+      __repr__) on a class that has many subclasses.
+    - gh-155752: Fix a crash when a types.GenericAlias argument
+      gains a __typing_subst__ hook after the alias parameters
+      have been cached.
+    - gh-129752: Don’t update adaptive counters in the
+      free-threaded build when thread-local bytecode is disabled
+      (-X tlbc=0). Patch by Donghee Na.
+    - gh-155515: Track the internal HAMT iterators, which back
+      iteration over a contextvars.Context, with the garbage
+      collector. A reference cycle running through such an
+      iterator was never collected, leaking the whole context it
+      iterated over.
+    - gh-155400: Fix a deadlock in the free-threaded build
+      between two threads assigning to a special method of the
+      same class. While applying the type slot updates with the
+      world stopped, only the type lock was prevented from being
+      released; the type dict mutex could still be released and
+      re-acquired, in the wrong order, if the thread blocked on
+      the stop-the-world mutex.
+    - gh-155363: Fix a leak in the free-threaded build when
+      creating a thread state fails after an internal QSBR slot
+      has been reserved for it. The slot could never be
+      reclaimed, so the QSBR array grew without bound across
+      repeated failures.
+    - gh-154701: Fix an infinite loop in JIT when a FOR_ITER side
+      exit links an executor back to itself.
+    - gh-154196: Improve AttributeError messages from unresolved
+      lazy imports. Patch by Bartosz Sławecki.
+    - gh-151377: Fix races in free-threaded builds when updating
+      type slots for newly created classes and when removing
+      entries from a base type’s subclasses dictionary.
+    - gh-148817: Fold large constant list and set literals used
+      as the iterable of a for loop or in/not in test into
+      a constant tuple or frozenset, restoring an optimization
+      previously done by the AST optimizer that was lost when
+      constant folding moved to the CFG.
+    - gh-85260: compile() now raises ValueError instead of
+      crashing on a debug build if an identifier field of an AST
+      node (such as the name of a function, a class, an imported
+      module or a caught exception) is "None", "True" or "False".
+  - Library
+    - gh-156523: Fix asyncio.as_completed() not recording the
+      awaiting task in the call graph.
+    - gh-156408: Fix asyncio.print_call_graph() raising
+      AttributeError when called on a task that has already
+      finished.
+    - gh-156404: Restore compatibility with .pth files generated
+      before Python 3.15 in the site module. Inject the fullname
+      variable in the frame which executes pth code.
+    - gh-156353: Fix configparser parsing when using whitespace
+      in delimiters.
+    - gh-156112: _ios_support no longer fails to import when
+      ctypes.util.find_library() cannot resolve the ObjC runtime
+      through the dyld shared cache, as is the case on iOS 13.
+      The runtime is now loaded by name, which dyld resolves
+      against the cache directly.
+    - gh-155974: Fix a regression in Python 3.15: addstr(),
+      addnstr(), insstr() and insnstr() again restore the window
+      attributes when the write fails, instead of leaving the
+      temporary attr applied.
+    - gh-155952: Fix the signatures of
+      sqlite3.Connection.execute(), warnings.warn() and
+      locale.setlocale() which rendered <unrepresentable> instead
+      of the correct defaults for parameters.
+    - gh-155888: Fix asyncio.WriteTransport.writelines() hanging
+      the transport when the last data chunk is empty.
+    - gh-155869: Fix reorganize() in dbm.dumb failing to persist
+      updated value offsets, which could cause data loss after
+      reopening the database.
+    - gh-155781: Fix a possible crash in free-threaded builds
+      when the sqlite3 converter registry is modified
+      concurrently while a cursor builds its row cast map.
+    - gh-155702: Fix sqlite3.Blob slice assignment with a step.
+      It patched the bytes object read from the blob, which for
+      a single byte is an immortal singleton, so that the value
+      of that byte was changed in the whole process.
+    - gh-155468: Fix netrc to distinguish empty quoted tokens
+      from end-of-file, so malformed files no longer cause the
+      remaining content to be silently ignored.
+    - gh-155519: Avoid a data-race in free-threaded builds when
+      reading and writing context variables from different
+      threads.
+    - gh-155009: Fix argparse.ArgumentParser to preserve the
+      program name from sys.argv[0] when a named module is
+      executed as the main program without replacing sys.argv[0].
+    - gh-155063: Bump the version of pip bundled in ensurepip to
+      version 26.2.1
+    - gh-153711: On macOS, add run-time checks around the
+      syscalls pipe2 (2) and dup3 (2), in addition to the
+      existing build-time checks. This means that Python built on
+      macOS 27 (where these calls are available) can run on macOS
+      26 (where they aren’t).
+    - gh-154871: Fixed a crash in asyncio.Task.get_context() when
+      called on an uninitialized task.
+    - gh-154568: Fix array unpickling of little-endian float16.
+    - gh-154566: Fix array.array.byteswap() corrupting data for
+      'Zd' (complex double) arrays with more than one element:
+      the 16-byte item loop advanced the buffer pointer by only
+      8 bytes per iteration, causing items after the first to be
+      scrambled.
+    - gh-154467: Fixed pdb remote attaching (python -m pdb -p
+      PID) sending an empty prompt to the client instead of (Pdb)
+      when the target process has an interactive terminal.
+    - gh-153772: isinstance() checks against collections.abc
+      classes such as Mapping no longer raise AttributeError when
+      the instance has no __class__. The abstract base class
+      machinery now falls back to the object’s type in that case,
+      matching the behaviour of the built-in isinstance().
+    - gh-154086: Store per-thread sample counts in Tachyon
+      flamegraphs so filtering a thread updates frame widths and
+      totals.
+    - gh-154060: Store measured duration and sampling rate in
+      Tachyon binary profiles so they remain available in
+      replayed flamegraphs.
+    - gh-154085: Prevent differential flamegraphs from
+      duplicating self time across line nodes for the same
+      function.
+    - gh-154088: Make Tachyon count and render elided stacks
+      consistently in differential flamegraphs.
+    - gh-154089: Do not show unavailable sampling efficiency
+      statistics in replayed Tachyon flamegraphs.
+    - gh-153158: Remove the erroneous width argument of
+      calendar.HTMLCalendar.formatmonthpage(), which could drop
+      the year from the heading.
+    - gh-113329: Fix OSError being raised when trying to run
+      doctests on a class objects in the REPL. Patch by Sten
+      Wessel.
+  - Build
+    - gh-156369: Update Android and iOS build scripts to use
+      OpenSSL 3.5.8.
+    - gh-156115: iOS simulator builds are now configured with
+      -mios-simulator-version-min instead of the device’s
+      -mios-version-min. The device flag made the linker reject
+      libraries resolved from the simulator SDK, so library
+      detection silently failed.
+  - Tools/Demos
+    - gh-154059: Fix the time units in Tachyon flame graph
+      tooltips by accounting for the sampling interval when
+      converting samples to milliseconds.
+  - C API
+    - gh-131740: On the free-threaded build,
+      PyUnstable_GC_VisitObjects() now also visits frozen objects
+      (objects moved to the permanent generation by gc.freeze()),
+      matching the behavior of the default build.
+- Update to 3.15.0~rc1:
+  - Security
+    - gh-152674: The xml.etree.ElementTree.Element methods
+      findall(), iterfind() and find() avoid quadratic behavior
+      when using XPath index predicates ([1], [last()],
+      [last()-N]) on XML documents with many same-tag siblings
+      (bsc#1273148, CVE-2026-6879).
+  - Core and Builtins
+    - gh-154902: Fix a crash when __conditional_annotations__ is
+      rebound to a non-set object.
+    - gh-133931: Fix data races when setting attributes of
+      function objects on the free threaded build.
+    - gh-154775: When matching a complex literal in case
+      statements, an extraneous + sign (for example, 1++1j or
+      1-+1j) is no longer allowed.
+    - gh-154709: Fix an out-of-bounds access in reverse
+      dictionary iterators when the underlying dictionary is
+      cleared and modified after the iterator is created.
+    - gh-154695: Fix asyncio.Task raising AttributeError when
+      created with eager_start=True and no explicit loop
+      argument.
+    - gh-153809: Fix interpreter crash while deallocating objects
+      of asyncio.Task on free-threaded builds. Contributed by
+      Sergey Miryanov.
+    - gh-154275: Fix a crash when getting deeply nested
+      __parameters__ from a types.GenericAlias objects.
+    - gh-154014: Fix a JIT assertion during interpreter shutdown
+      by initializing vm_data fields for cold executors that
+      bypass _Py_ExecutorInit().
+    - gh-153932: Fix thread safety issue in the __reduce__ method
+      of enumerate.
+    - gh-153881: Fix potential data race when calling
+      __getstate__() under the free-threaded build.
+    - gh-153570: Fix a use-after-free in bytearray.take_bytes()
+      when the argument’s __index__() method resizes the
+      bytearray. Patch by tonghuaroot.
+    - gh-153419: Fix multiple bytearray crashes and reference
+      leaks caused by skipping __init__() and broken state setup
+      code.
+    - gh-153236: Propagate exceptions raised while importing lazy
+      submodules instead of reporting them as missing attributes.
+    - gh-148874: Ignore interrupts immediately after calling the
+      __enter__ method of a context menager in a with statement.
+      This ensures that the __exit__ method is always called in
+      a with statement.
+    - gh-150208: Avoid double-quoting string values from
+      pyconfig.h in sysconfigdata variables.
+  - Library
+    - gh-155063: Bump the version of pip bundled in ensurepip to
+      version 26.2
+    - gh-154936: Fix the pure Python json decoder to report the
+      correct position for invalid literal control characters in
+      JSON strings.
+    - gh-154892: Fix a bug in the C accelerator for zoneinfo
+      where datetime.datetime subclasses returning -1 for hour,
+      minute, or second could incorrectly raise a SystemError.
+    - gh-154848: The pickle C accelerator now enforces frame
+      boundaries when unpickling, as the pure Python
+      implementation already did. An argument that straddles
+      a frame boundary, or a frame that begins before the
+      previous one has ended, now raises pickle.UnpicklingError
+      instead of being silently read across the boundary. This
+      prevents the loaded data from diverging from the
+      pickletools disassembly of the same pickle.
+    - gh-154885: os.get_terminal_size() now checks isatty before
+      calling ioctl, which reduces log noise on Android.
+    - gh-109638: Fix exponential time in csv.Sniffer.sniff() for
+      a sample which contains many quote characters. A doubled
+      quote character is now also detected in a field which
+      contains the delimiter or a line break.
+    - gh-98820: Fix quadratic time in csv.Sniffer.sniff() for
+      a sample which contains quoted fields, in particular for
+      a single column of quoted fields (bsc#1274683,
+      CVE-2026-18503).
+    - gh-154738: Fix ExternalEntityParserCreate() not propagating
+      the reparse-deferral setting to the subparser, which left
+      GetReparseDeferralEnabled() returning an uninitialized
+      value. Patch by tonghuaroot.
+    - gh-93251: Fix UnicodeDecodeError in socket functions (such
+      as getaddrinfo() and gethostbyaddr()) when the localized
+      error message of the C library is not UTF-8: decode it from
+      the locale encoding.
+    - gh-148468: Fix a regression in argparse where colorized
+      argument help containing format specifiers did not accept
+      string-like proxy objects.
+    - gh-142035: Fix incorrect wrapping of argparse help text
+      when color is enabled.
+    - gh-135736: Fix :asyncio.TaskGroup to not wrap
+      a GeneratorExit into a BaseExceptionGroup if it was raised
+      by the body of the task group and none of the tasks in the
+      group raised exceptions.
+    - gh-154551: Fix ctypes.util.find_library() returning None in
+      non-UTF-8 locales.
+    - gh-79366: Fixed a race condition in logging: if a handler
+      was removed while a record was being emitted, the following
+      handlers of the same logger could be skipped.
+    - gh-154189: Fixed a potential use-after-free when calling
+      functools.partial(). Now, when invoking a partial() object,
+      the stored function, positional arguments, and keyword
+      arguments are preserved for the duration of the call in
+      case of reentrancy.
+    - gh-73458: Fix logging.config.listen(): it left the caller
+      waiting for the ready event forever if the server could not
+      be started, for example if the port was invalid or already
+      in use. It now also binds to an IPv6 address if the host
+      has no IPv4 address, for example if localhost is only
+      aliased to ::1.
+    - gh-154460: Fix time.strftime() and
+      datetime.datetime.strftime() returning a wrong ISO 8601
+      week number (%V) on OpenBSD.
+    - gh-154435: Fix os.posix_fadvise() and os.posix_fallocate()
+      on DragonFly BSD: they raised OSError with a meaningless
+      error code, because these functions return -1 and set errno
+      there.
++++ 157 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python315/python315.changes
++++ and /work/SRC/openSUSE:Factory/.python315.new.1265/python315.changes

Old:
----
  Python-3.15.0b4.tar.xz
  Python-3.15.0b4.tar.xz.sigstore

New:
----
  Python-3.15.0rc2.tar.xz
  Python-3.15.0rc2.tar.xz.sigstore

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python315.spec ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:03.667759775 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:03.669759859 +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~b4
-%define         tarversion 3.15.0b4
+Version:        3.15.0~rc2
+%define         tarversion 3.15.0rc2
 %define         tarname    Python-%{tarversion}
 Release:        0
 Summary:        Python 3 Interpreter

++++++ CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:03.727762291 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:03.732762501 +0200
@@ -4,11 +4,11 @@
  Lib/test/test_xml_etree.py |   10 ++++++++++
  3 files changed, 17 insertions(+)
 
-Index: Python-3.15.0b4/Lib/test/test_pyexpat.py
+Index: Python-3.15.0rc2/Lib/test/test_pyexpat.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/test/test_pyexpat.py      2026-07-30 
17:01:51.587822606 +0200
-+++ Python-3.15.0b4/Lib/test/test_pyexpat.py   2026-07-30 17:02:10.146040283 
+0200
-@@ -1071,6 +1071,10 @@
+--- Python-3.15.0rc2.orig/Lib/test/test_pyexpat.py     2026-09-02 
22:04:50.528936655 +0200
++++ Python-3.15.0rc2/Lib/test/test_pyexpat.py  2026-09-02 22:05:13.358716153 
+0200
+@@ -1081,6 +1081,10 @@
          self.assertEqual(started, ['doc'])
  
      def test_reparse_deferral_disabled(self):
@@ -19,10 +19,10 @@
          started = []
  
          def start_element(name, _):
-Index: Python-3.15.0b4/Lib/test/test_sax.py
+Index: Python-3.15.0rc2/Lib/test/test_sax.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/test/test_sax.py  2026-07-30 17:01:51.665436436 
+0200
-+++ Python-3.15.0b4/Lib/test/test_sax.py       2026-07-30 17:02:10.147605243 
+0200
+--- Python-3.15.0rc2.orig/Lib/test/test_sax.py 2026-09-02 22:04:50.671587868 
+0200
++++ Python-3.15.0rc2/Lib/test/test_sax.py      2026-09-02 22:05:13.359325334 
+0200
 @@ -1241,6 +1241,9 @@
  
          self.assertEqual(result.getvalue(), start + b"<doc></doc>")
@@ -33,10 +33,10 @@
      def test_flush_reparse_deferral_disabled(self):
          result = BytesIO()
          xmlgen = XMLGenerator(result)
-Index: Python-3.15.0b4/Lib/test/test_xml_etree.py
+Index: Python-3.15.0rc2/Lib/test/test_xml_etree.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/test/test_xml_etree.py    2026-07-30 
17:01:52.172313387 +0200
-+++ Python-3.15.0b4/Lib/test/test_xml_etree.py 2026-07-30 17:02:10.148338185 
+0200
+--- Python-3.15.0rc2.orig/Lib/test/test_xml_etree.py   2026-09-02 
22:04:51.208684774 +0200
++++ Python-3.15.0rc2/Lib/test/test_xml_etree.py        2026-09-02 
22:05:13.359958941 +0200
 @@ -138,6 +138,11 @@
      return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq)
  

++++++ Python-3.15.0rc2.tar.xz.sigstore ++++++
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIDIzCCAqmgAwIBAgIUKwLUw8Ju9ZMkThgz0J6AVYlxhT0wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwOTAxMTE1MDIzWhcNMjYwOTAxMTIwMDIzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExDykVs1kEnmTsKOJxlCFJFctlyxDSivaDZtkS/DnBhNlcqc3p1X97AGVIiuKQ+lQGXpxsBHZiReXQRtJfvbLr6OCAcgwggHEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUWUmO1dC4H523kbvQ3MIyqQEaP1AwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABoFzOX/AAAAQDAEgwRgIhALpfq7VGcODbni1gZMRxJpFUAmmYvxC5elMVpn/nsLrmAiEAsimXYgwTRg
 
7CKfF8LkwCHxorOMGsyJtTdWIJm3H++/MwCgYIKoZIzj0EAwMDaAAwZQIxAO4sDqbS+kErIQoDnYWFLoT+22F0JVyj7FMbr38LVhJtXFUAxtE5nTKrZd6czyML7gIwR6k40SBl/uowIdM7RwaHH/lRi9bj1Py8Cj276JkFI7tyV/a4o40ndJyf5ugLKBFM"},"tlogEntries":[{"logIndex":"2675318197","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1788263424","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCC9jJrOdffYO+7WsnAdFCrRvDGAHVfdtJPsrwW2EZkEQIgF8eeSXv/QUEHttoYvOHS4pgtsBGi467DZ6nIeUoDcQI="},"inclusionProof":{"logIndex":"2553413935","rootHash":"xm2rCUXoqngkHj8cWnZCtNPLYszXpajVqgtCN1S6jRU=","treeSize":"2553413951","hashes":["4u2OXRQviYapVbR4N//ssbBFHQhndoO5wyAtpPGBlAc=","GLARglcBjhcfC0p8rIfPS9LQs/GJRClhNWVcW4/CFeI=","yDt+e+HGs8pXjmWe6RimdCK9SJJApGXw8GU4gSbKkHE=","sW75Itvqrssq2u9iX2qHEirVod8Y15pK7HV4I8zDZzs=","KkQXJC6VLQoB8wEKfDTYlTbzuTfXnu5024yzsqFoI4U=","cSEYXG2rEUU7HyjY2RZFFI/yheNMIgJ2GLK3HXUHr3A=","SSH92a65bJay4W0AgaDI3pupgOhaV3iYVReHdfUig5s=","UX3sdv
 
A8Z8o3UT/TCllcEVIJIMKKN7j9jBDsVczU0L8=","HGv3uWODv80+/W38Qp9dwZvMME6N2S3s6KWENP9zHBw=","W+9Pzz9RSgONXuum1pR7Ru7WDjAmmiJjqaC9gYMnSBQ=","eXSLrLqKSxRTixSP/k4YimriB2lufao6trqTrsxxlyg=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n2553413951\nxm2rCUXoqngkHj8cWnZCtNPLYszXpajVqgtCN1S6jRU=\n\n—
 rekor.sigstore.dev 
wNI9ajBFAiEA1Y2/mgkxTjcM4uml8uDhs7XRq8Rw3/oW0lfwQaGIAJgCIC1Doq75O4YG/KsCVetlMXI0KKjJ2H8wGtJUD1dQuROk\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4ZDkzYWY1ZWFhYWVhNWFkZmQ0MWJkNzg2YTdiYTNmMDNmMmFkMWFiNTdjNmE2NWUwYjk2M2RlYWI5MWQ1YWQ3In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUUNaYVd4SER6eFpoYmlubVlnMG5rb2doSVh1N0hHM2w1clk1S2xMQkI4dXF3SWhBSklvNlFybG5TQWZld09mK1dSekFoNklibWw1M0dIbGU2cjJwV2Y3OWZ4diIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlV
 
TVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpla05EUVhGdFowRjNTVUpCWjBsVlMzZE1WWGM0U25VNVdrMXJWR2huZWpCS05rRldXV3g0YUZRd2QwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlVUVhoTlZFVXhUVVJKZWxkb1kwNU5hbGwzVDFSQmVFMVVTWGROUkVsNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVY0UkhsclZuTXhhMFZ1YlZSelMwOUtlR3hEUmtwR1kzUnNlWGhFVTJsMllVUmFkR3NLVXk5RWJrSm9UbXhqY1dNemNERllPVGRCUjFaSmFYVkxVU3RzVVVkWWNIaHpRa2hhYVZKbFdGRlNkRXBtZG1KTWNqWlBRMEZqWjNkblowaEZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZYVlcxUENqRmtRelJJTlRJemEySjJVVE5OU1hseFVVVmhVREZCZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6
 
WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhWGRaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamxDU0hOQlpWRkNNMEZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdlJucFBXQzlCUVVGQlVVUkJSV2QzVW1kSmFFRk1jR1lLY1RkV1IyTlBSR0p1YVRGbldrMVNlRXB3UmxWQmJXMVpkbmhETldWc1RWWndiaTl1YzB4eWJVRnBSVUZ6YVcxWVdXZDNWRkpuTjBOTFprWTRUR3QzUXdwSWVHOXlUMDFIYzNsS2RGUmtWMGxLYlROSUt5c3ZUWGREWjFsSlMyOWFTWHBxTUVWQmQwMUVZVUZCZDFwUlNYaEJUelJ6UkhGaVV5dHJSWEpKVVc5RUNtNVpWMFpNYjFRck1qSkdNRXBXZVdvM1JrMWljak00VEZab1NuUllSbFZCZUhSRk5XNVVTM0phWkRaamVubE5URGRuU1hkU05tczBNRk5DYkM5MWIzY0tTV1JOTjFKM1lVaElMMnhTYVRsaWFqRlFlVGhEYWpJM05rcHJSa2szZEhsV0wyRTBielF3Ym1SS2VXWTFkV2RNUzBKR1RRb3RMUzB0TFVWT1JDQkRSVkpVU1VaS
 
lEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6TADAgEAMIIE4AYJKoZIhvcNAQcCoIIE0TCCBM0CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgf5JxMQ1tHVwf9FzbsL1eEYYX32yIQkh/PpZJMTDY32ACFQDIvp9WNONl0Bx4ODWzPoA8iYH4zRgPMjAyNjA5MDExMTUwMjRaMAMCAQECCCah1sYW4uzJoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYI
 
KoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2jCCAdYCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjA5MDExMTUwMjRaMC8GCSqGSIb3DQEJBDEiBCDYAKclz02B7pgrxu1FbftHru6yNccvvbEqW8DOvAxaIjCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pDswOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZjBkAjAyMI1lG+jlZePfr4fWGo2OpskPFXcia9wpW32a5iL31MzjcXHag75neNb/9fVLmDQCMH0D4t7HnNb9miwCNryVkOZf6/cnfZ8cUuqAUSi/wbIxi4gbtWdb6ITem1vAzRy8sQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"jZOvXqqupa39Qb14anuj8D8q0atXxqZeC5Y96rkdWtc="},"signature":"MEYCIQCZaWxHDzxZhbinmYg0nkoghIXu7HG3l5rY5KlLBB8uqwIhAJIo6QrlnSAfewOf+
 WRzAh6Ibml53GHle6r2pWf79fxv"}}

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:03.890769128 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:03.894769295 +0200
@@ -1,6 +1,6 @@
-mtime: 1785426904
-commit: 6e9601fd57fbeb011e940e4851b8e67bd8d72f3e0e6717b4534eb417dfebee0c
+mtime: 1788383158
+commit: c51ef2be22316d64b8dcd5a6f60f2964b2c6c12824b5a7f0a0b455de1dbc09e4
 url: https://src.opensuse.org/python-interpreters/python315
-revision: 6e9601fd57fbeb011e940e4851b8e67bd8d72f3e0e6717b4534eb417dfebee0c
+revision: c51ef2be22316d64b8dcd5a6f60f2964b2c6c12824b5a7f0a0b455de1dbc09e4
 projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj
 

++++++ bpo-31046_ensurepip_honours_prefix.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:03.926770637 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:03.930770805 +0200
@@ -13,10 +13,10 @@
  5 files changed, 37 insertions(+), 9 deletions(-)
  create mode 100644 
Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
 
-Index: Python-3.15.0b4/Doc/library/ensurepip.rst
+Index: Python-3.15.0rc2/Doc/library/ensurepip.rst
 ===================================================================
---- Python-3.15.0b4.orig/Doc/library/ensurepip.rst     2026-07-18 
09:57:43.000000000 +0200
-+++ Python-3.15.0b4/Doc/library/ensurepip.rst  2026-07-30 17:02:06.220367965 
+0200
+--- Python-3.15.0rc2.orig/Doc/library/ensurepip.rst    2026-09-01 
11:14:36.000000000 +0200
++++ Python-3.15.0rc2/Doc/library/ensurepip.rst 2026-09-02 22:05:05.842807107 
+0200
 @@ -65,7 +65,11 @@
  By default, ``pip`` is installed into the current virtual environment
  (if one is active) or into the system site packages (if there is no
@@ -57,10 +57,10 @@
     .. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap
  
     .. note::
-Index: Python-3.15.0b4/Lib/ensurepip/__init__.py
+Index: Python-3.15.0rc2/Lib/ensurepip/__init__.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/ensurepip/__init__.py     2026-07-30 
17:01:48.743625962 +0200
-+++ Python-3.15.0b4/Lib/ensurepip/__init__.py  2026-07-30 17:02:06.220909877 
+0200
+--- Python-3.15.0rc2.orig/Lib/ensurepip/__init__.py    2026-09-02 
22:04:46.888367814 +0200
++++ Python-3.15.0rc2/Lib/ensurepip/__init__.py 2026-09-02 22:05:05.843748292 
+0200
 @@ -107,27 +107,27 @@
      os.environ['PIP_CONFIG_FILE'] = os.devnull
  
@@ -123,10 +123,10 @@
          upgrade=args.upgrade,
          user=args.user,
          verbosity=args.verbosity,
-Index: Python-3.15.0b4/Lib/test/test_ensurepip.py
+Index: Python-3.15.0rc2/Lib/test/test_ensurepip.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/test/test_ensurepip.py    2026-07-30 
17:01:50.497809821 +0200
-+++ Python-3.15.0b4/Lib/test/test_ensurepip.py 2026-07-30 17:02:06.221271238 
+0200
+--- Python-3.15.0rc2.orig/Lib/test/test_ensurepip.py   2026-09-02 
22:04:49.143565787 +0200
++++ Python-3.15.0rc2/Lib/test/test_ensurepip.py        2026-09-02 
22:05:05.843807122 +0200
 @@ -121,6 +121,17 @@
              unittest.mock.ANY,
          )
@@ -145,11 +145,11 @@
      def test_bootstrapping_with_user(self):
          ensurepip.bootstrap(user=True)
  
-Index: Python-3.15.0b4/Makefile.pre.in
+Index: Python-3.15.0rc2/Makefile.pre.in
 ===================================================================
---- Python-3.15.0b4.orig/Makefile.pre.in       2026-07-30 17:02:01.059249436 
+0200
-+++ Python-3.15.0b4/Makefile.pre.in    2026-07-30 17:02:06.221893021 +0200
-@@ -2463,7 +2463,7 @@
+--- Python-3.15.0rc2.orig/Makefile.pre.in      2026-09-02 22:05:00.958811251 
+0200
++++ Python-3.15.0rc2/Makefile.pre.in   2026-09-02 22:05:05.844633555 +0200
+@@ -2444,7 +2444,7 @@
                        install|*) ensurepip="" ;; \
                esac; \
                $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -158,7 +158,7 @@
        fi
  
  .PHONY: altinstall
-@@ -2474,7 +2474,7 @@
+@@ -2455,7 +2455,7 @@
                        install|*) ensurepip="--altinstall" ;; \
                esac; \
                $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -167,10 +167,10 @@
        fi
  
  .PHONY: commoninstall
-Index: 
Python-3.15.0b4/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
+Index: 
Python-3.15.0rc2/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ 
Python-3.15.0b4/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 
   2026-07-30 17:02:06.222499795 +0200
++++ 
Python-3.15.0rc2/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
   2026-09-02 22:05:05.845210936 +0200
 @@ -0,0 +1 @@
 +A directory prefix can now be specified when using :mod:`ensurepip`.
 

++++++ 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-09-02 23:05:58.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+python315-*-build/

++++++ fix-test-recursion-limit-15.6.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:04.201782171 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:04.206782381 +0200
@@ -2,10 +2,10 @@
  Lib/test/test_compile.py |    5 +++++
  1 file changed, 5 insertions(+)
 
-Index: Python-3.15.0a8/Lib/test/test_compile.py
+Index: Python-3.15.0rc2/Lib/test/test_compile.py
 ===================================================================
---- Python-3.15.0a8.orig/Lib/test/test_compile.py      2026-04-08 
13:45:33.877094394 +0200
-+++ Python-3.15.0a8/Lib/test/test_compile.py   2026-04-08 13:45:56.084237567 
+0200
+--- Python-3.15.0rc2.orig/Lib/test/test_compile.py     2026-09-02 
22:04:48.725628578 +0200
++++ Python-3.15.0rc2/Lib/test/test_compile.py  2026-09-02 22:06:02.007618738 
+0200
 @@ -24,6 +24,9 @@
  from test.support.bytecode_helper import instructions_with_positions
  from test.support.os_helper import FakePath
@@ -24,10 +24,10 @@
      @support.skip_emscripten_stack_overflow()
      def test_extended_arg(self):
          repeat = 100
-@@ -724,6 +728,7 @@
- 
+@@ -725,6 +729,7 @@
      @support.cpython_only
      @unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
+     @support.skip_if_huge_c_stack(100_000 if sys.platform == "android" else 
500_000)
 +    @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
      @support.skip_emscripten_stack_overflow()
      def test_compiler_recursion_limit(self):

++++++ python-3.3.0b1-fix_date_time_compiler.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:04.298786240 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:04.314786910 +0200
@@ -16,11 +16,11 @@
  Makefile.pre.in |    7 +++++++
  1 file changed, 7 insertions(+)
 
-Index: Python-3.15.0b4/Makefile.pre.in
+Index: Python-3.15.0rc2/Makefile.pre.in
 ===================================================================
---- Python-3.15.0b4.orig/Makefile.pre.in       2026-07-18 09:57:43.000000000 
+0200
-+++ Python-3.15.0b4/Makefile.pre.in    2026-07-30 17:02:01.059249436 +0200
-@@ -1976,6 +1976,13 @@
+--- Python-3.15.0rc2.orig/Makefile.pre.in      2026-09-01 11:14:36.000000000 
+0200
++++ Python-3.15.0rc2/Makefile.pre.in   2026-09-02 22:05:00.958811251 +0200
+@@ -1957,6 +1957,13 @@
              -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
              -o $@ $(srcdir)/Modules/getbuildinfo.c
  

++++++ skip-test_pyobject_freed_is_freed.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:04.372789343 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:04.381789720 +0200
@@ -2,11 +2,11 @@
  Lib/test/test_capi/test_mem.py |    1 +
  1 file changed, 1 insertion(+)
 
-Index: Python-3.14.0b4/Lib/test/test_capi/test_mem.py
+Index: Python-3.15.0rc2/Lib/test/test_capi/test_mem.py
 ===================================================================
---- Python-3.14.0b4.orig/Lib/test/test_capi/test_mem.py        2025-07-09 
07:53:00.072386821 +0200
-+++ Python-3.14.0b4/Lib/test/test_capi/test_mem.py     2025-07-09 
07:55:44.206338886 +0200
-@@ -114,6 +114,7 @@
+--- Python-3.15.0rc2.orig/Lib/test/test_capi/test_mem.py       2026-09-02 
22:04:48.617946481 +0200
++++ Python-3.15.0rc2/Lib/test/test_capi/test_mem.py    2026-09-02 
22:05:09.332922778 +0200
+@@ -119,6 +119,7 @@
      def test_pyobject_forbidden_bytes_is_freed(self):
          
self.check_pyobject_is_freed('check_pyobject_forbidden_bytes_is_freed')
  

++++++ test_UDPLITE_support.patch ++++++
--- /var/tmp/diff_new_pack.YYI8F5/_old  2026-09-10 11:51:04.427791650 +0200
+++ /var/tmp/diff_new_pack.YYI8F5/_new  2026-09-10 11:51:04.435791985 +0200
@@ -2,11 +2,11 @@
  Lib/test/test_socket.py |   18 +++++++++++++++++-
  1 file changed, 17 insertions(+), 1 deletion(-)
 
-Index: Python-3.15.0b4/Lib/test/test_socket.py
+Index: Python-3.15.0rc2/Lib/test/test_socket.py
 ===================================================================
---- Python-3.15.0b4.orig/Lib/test/test_socket.py       2026-07-30 
17:01:51.705823990 +0200
-+++ Python-3.15.0b4/Lib/test/test_socket.py    2026-07-30 17:02:16.051109546 
+0200
-@@ -170,6 +170,22 @@
+--- Python-3.15.0rc2.orig/Lib/test/test_socket.py      2026-09-02 
22:04:50.734588779 +0200
++++ Python-3.15.0rc2/Lib/test/test_socket.py   2026-09-02 22:06:23.415928107 
+0200
+@@ -177,6 +177,22 @@
      return (cid is not None)
  
  
@@ -29,7 +29,7 @@
  def _have_socket_bluetooth():
      """Check whether AF_BLUETOOTH sockets are supported on this host."""
      try:
-@@ -266,7 +282,7 @@
+@@ -273,7 +289,7 @@
  
  HAVE_SOCKET_VSOCK = _have_socket_vsock()
  

Reply via email to