Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python314 for openSUSE:Factory 
checked in at 2026-08-25 13:18:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python314 (Old)
 and      /work/SRC/openSUSE:Factory/.python314.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python314"

Tue Aug 25 13:18:06 2026 rev:39 rq:1370390 version:3.14.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/python314/python314.changes      2026-07-22 
19:00:53.956402621 +0200
+++ /work/SRC/openSUSE:Factory/.python314.new.1258/python314.changes    
2026-08-25 13:18:10.420907150 +0200
@@ -1,0 +2,747 @@
+Fri Aug  7 16:56:07 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update to 3.14.7:
+  - Security
+    - gh-153030: Fixed quadratic complexity in incremental
+      parsing of long unterminated constructs (such as tags or
+      comments) in html.parser.HTMLParser, which could be
+      exploited for a denial of service (bsc#1271192,
+      CVE-2026-15308).
+    - 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.
+    - gh-152216: Update bundled libexpat to version 2.8.2.
+    - gh-151987: The tarfile.TarFile.extract() method now applies
+      the given filter when it extracts a link target from the
+      archive as a fallback (bsc#1269959, CVE-2026-4360).
+    - gh-151981: In tarfile, seeking a stream now stops when end
+      of the stream is reached (bsc#1269788, CVE-2026-11972).
+    - 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-151558: Fixed an vulnerability in the tarfile data and
+      tar extraction filters where crafted archives could create
+      a symlink pointing outside the destination directory. This
+      was a bypass of CVE 2025-4330 (bsc#1268977,
+      CVE-2026-11940).
+    - gh-150743: http.client now limits the number of
+      chunked-response trailer lines it will read to 100, and the
+      number of interim (1xx) responses it will skip to 100.
+      A malicious or broken server could previously stream
+      trailer lines or 100 Continue responses forever, hanging
+      the client even when a socket timeout was in use. Reported
+      by @YLChen-007 via GHSA-w4q2-g22w-6fr4.
+    - gh-143927: Normalize all line endings (CR, CRLF, and LF) to
+      LF+TAB when writing multi-line configparser values.
+    - gh-143921: Reject NUL, CR and LF characters in IMAP
+      commands. Other control characters are allowed and sent
+      quoted (bsc#1257044, CVE-2025-15366).
+  - Core and Builtins
+    - gh-133931: Fix data races when setting attributes of
+      function objects on the free threaded build.
+    - 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-153932: Fix thread safety issue in the __reduce__ method
+      of enumerate.
+    - gh-153298: Fixes a data race in types.GenericAlias
+      __parameters__ initialization on free-threading builds.
+    - gh-153205: Fix a potential SystemError during vector calls
+      when memory allocation fails. A MemoryError is now raised
+      instead.
+    - gh-152682: Fix NULL pointer dereference in compile() when
+      a reserved name (e.g. __classdict__) is used as a type
+      parameter name and memory allocation fails while formatting
+      the error message.
+    - gh-152635: Fix a crash caused when running out of memory
+      creating a _interpchannels channel. Now a MemoryError is
+      correctly raised.
+    - gh-152375: Fix undefined behaviour when a sys.monitoring
+      callback raised an exception while the program was
+      following a branch or loop.
+    - gh-152235: Defer GC tracking of set.intersection(),
+      set.difference(), set.symmetric_difference(), set.union()
+      and set.__sub__. Patch by Donghee Na.
+    - gh-152235: Defer GC tracking of a set or frozenset to the
+      end of its construction from iterable. Patch by Donghee Na.
+    - gh-152228: Fix an assertion failure when python is built in
+      a debug mode that happened in str.replace() under a limited
+      memory situation.
+    - gh-151763: Fixes possible crash on types.CodeType
+      deallocation.
+    - gh-152020: On the free-threaded build, asyncio.all_tasks()
+      no longer loses eager-started tasks when called from
+      a thread other than the one running the event loop.
+    - gh-151763: Fix a potential crash in compile(), exec(),
+      eval() and ast.parse() when an allocation fails: the parser
+      or compiler could return without setting an exception.
+    - gh-151912: Fixed a crash in type() when selecting
+      a metaclass whose tp_new slot is NULL. Such metaclasses are
+      now rejected with TypeError instead of causing a NULL
+      pointer dereference.
+    - gh-151905: Fix OOM error handling in PyFrame_GetBack() to
+      propagate exceptions instead of masking them as None.
+    - gh-151773: Fix a crash in contextvars.ContextVar.set() when
+      memory allocation fails.
+    - gh-151126: Fix a crash when sharing memoryview objects
+      between interpreters fails due to running out of memory. It
+      now raises a proper MemoryError.
+    - gh-151644: Fix a data race in sys.setdlopenflags() and
+      sys.getdlopenflags() when called concurrently in the
+      free-threaded build. The underlying
+      _PyImport_GetDLOpenFlags and _PyImport_SetDLOpenFlags
+      functions now use atomic load/store operations.
+    - gh-151126: Avoid possible crash in _winapi.c where a device
+      has no memory left. Now it properly raises a MemoryError.
+      Patch by Ivy Xu.
+    - 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-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-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-151126: Fix a crash, when there’s no memory left on
+      a device, which happened in _interpchannels module.
+    - Now it raises 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-151029: On Linux, fix sys.remote_exec() unable to find
+      remote writable memory when libpython replaced on disk.
+    - gh-150988: Fix a reference leak in OSError when attributes
+      are set before super().__init__().
+    - gh-144774: Fix data race in BaseException when an exception
+      is copied while being mutated.
+    - gh-150411: Fix a data race in the free-threaded build when
+      gc.get_count() reads the young generation allocation count
+      while another thread updates it.
+    - gh-149689: Fix missing error propagation in parser action
+      helpers when memory allocation fails. Patch by Thomas
+      Kowalski.
+    - gh-149162: Fix a potential deadlock in
+      PyUnicode_InternFromString() and other interning functions
+      in the free-threaded build when called from C++ static
+      local initializers.
+  - Library
+    - 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-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-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.
+    - 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-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-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.
+    - gh-154399: Fix venv activation in a non-interactive csh:
+      activate.csh no longer fails when the prompt variable is
+      not set.
+    - gh-154389: Fix uuid.uuid1() on OpenBSD: it returned
+      a version 4 UUID, because uuid_create() generates random
+      UUIDs on this platform.
+    - gh-154324: Fix os.sendfile() on illumos: it no longer
+      reports a successful transfer when the underlying system
+      call failed without writing any data.
+    - gh-154307: Fix tempfile.TemporaryDirectory.cleanup() on
+      DragonFly BSD, where removing a file with the UF_NOUNLINK
+      flag failed with EISDIR instead of EPERM.
+    - gh-154291: Fix socket.has_dualstack_ipv6() to return False
+      on platforms such as DragonFly BSD where setting
+      IPV6_V6ONLY to 0 silently has no effect.
+    - gh-154283: On DragonFly BSD, threading.get_native_id() now
+      returns a value that is unique across processes, matching
+      the other platforms.
+    - gh-154258: Fix a crash in mmap.mmap.resize() on NetBSD when
+      growing a shared anonymous mapping. resize() now raises
+      ValueError in this case, as it already did on Linux.
+    - gh-131565: ctypes.util.dllist() now works on NetBSD. It is
+      implemented in the _ctypes extension module so that
+      dl_iterate_phdr() reports all loaded shared libraries: on
+      NetBSD it only reports the link-map group of the calling
+      object, which excluded them when called through ctypes.
+    - gh-154225: Fix os.openpty() on Solaris and illumos: it no
+      longer leaves the pseudo-terminal as the controlling
+      terminal of the calling process.
+    - gh-154227: Fix os.posix_openpt() on OpenBSD, where it
+      rejected the O_CLOEXEC flag.
+    - gh-145030: Fix asyncio write pipe transports for named
+      FIFOs on macOS and Solaris. Unread data sitting in the FIFO
+      made the transport misinterpret a poll event as the reader
+      disconnecting, wrongly closing the transport.
+    - gh-154001: Fix random.binomialvariate() raising
+      ZeroDivisionError when random.random() returns zero.
+    - gh-153908: Fix data race when calling repr() on
+      itertools.count under the free-threaded build.
+    - gh-153896: Deduplicate unhashable args in typing.Literal.
+    - gh-153864: On a wide curses build, curses.window.insch()
+      now inserts a non-ASCII byte as the character it encodes in
+      the window’s encoding, consistently with addch(), instead
+      of its code point.
+    - gh-153862: On a wide curses build, curses.window.inch() now
+      returns the locale-encoded byte of a non-ASCII character,
+      matching instr(), instead of the low byte of its code
+      point.
+    - gh-146011: Fix a heap-use-after-free in the
+      C implementation of decimal when calling repr() after
+      deleting the Context.
+    - gh-153761: Fix cancelling asyncio.loop.sock_accept()
+      dropping a pending connection.
+    - gh-153695: Hashing a sqlite3.Row that contains an
+      unhashable value now raises TypeError instead of
+      SystemError. Patch by tonghuaroot.
+    - gh-127049: Fix a race condition in asyncio on Unix where
+      asyncio.subprocess.Process.send_signal(), terminate() or
+      kill() could signal an unrelated process that was recycled
+      onto the PID of the already-reaped child when
+      ThreadedChildWatcher is used. Patch by Kumar Aditya.
+    - gh-153658: Fix sqlite3.Connection.iterdump() raising
+      sqlite3.OperationalError when a table name contains
+      a single quote. Patch by tonghuaroot.
+    - gh-85943: Fix struct functions raising BytesWarning under
+      the -bb command line option when a str format is used after
+      an equal bytes format (or vice versa). The internal format
+      cache no longer mixes str and bytes keys.
+    - gh-153404: urllib.robotparser.RobotFileParser now silently
+      ignores a Crawl-delay or Request-rate value written with
+      non-decimal digits (such as U+00B2 SUPERSCRIPT TWO) instead
+      of raising ValueError and aborting the parse of the whole
+      robots.txt file.
+    - gh-153417: Error messages from imaplib.IMAP4.select() and
+      imaplib.IMAP4.uid() no longer raise BytesWarning under -bb
+      when the mailbox or command argument is bytes.
+    - gh-153406: email.utils.parsedate_to_datetime() now raises
+      ValueError instead of OverflowError when the parsed year or
+      timezone offset is out of range, matching its documented
+      behavior.
+    - gh-153083: Defer GC tracking of an array.array to the end
+      of its construction. Patch by Donghee Na.
+    - gh-153292: Fix data race in repr of threading.RLock in
+      free-threading build.
+    - gh-143990: A tkinter.font.Font created from a named font,
+      including by copy(), now copies its configured options
+      rather than the options resolved by Tcl’s font actual,
+      preserving a size specified in pixels (a negative size).
+    - gh-148286: Fix undefined behavior in
+      compression.zstd.ZstdDecompressor.unused_data when
+      a complete frame was decompressed in a single call.
+    - gh-153210: Fix crash on array import under a memory
++++ 453 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python314/python314.changes
++++ and /work/SRC/openSUSE:Factory/.python314.new.1258/python314.changes

Old:
----
  CVE-2025-15366-imap-ctrl-chars.patch
  CVE-2026-11940-tarfile-escape.patch
  Python-3.14.6.tar.xz
  Python-3.14.6.tar.xz.sigstore

New:
----
  Python-3.14.7.tar.xz
  Python-3.14.7.tar.xz.sigstore

----------(Old B)----------
  Old:- Remove upstreamed patches:
  - CVE-2025-15366-imap-ctrl-chars.patch
  - CVE-2026-11940-tarfile-escape.patch
  Old:  - CVE-2025-15366-imap-ctrl-chars.patch
  - CVE-2026-11940-tarfile-escape.patch
----------(Old E)----------

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

Other differences:
------------------
++++++ python314.spec ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.521945941 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.523946012 +0200
@@ -162,7 +162,7 @@
 # _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.14.6
+Version:        3.14.7
 %define         tarversion %{version}
 %define         tarname    Python-%{tarversion}
 Release:        0
@@ -231,18 +231,12 @@
 # PATCH-FIX-UPSTREAM CVE-2025-12781-b64decode-alt-chars.patch bsc#1257108 
[email protected]
 # Fix decoding with non-standard Base64 alphabet gh#python/cpython#125346
 Patch49:        CVE-2025-12781-b64decode-alt-chars.patch
-# PATCH-FIX-UPSTREAM CVE-2025-15366-imap-ctrl-chars.patch bsc#1257044 
[email protected]
-# Reject control characters in wsgiref.headers.Headers
-Patch50:        CVE-2025-15366-imap-ctrl-chars.patch
 # PATCH-FIX-UPSTREAM CVE-2025-15367-poplib-ctrl-chars.patch bsc#1257041 
[email protected]
 # Reject control characters in poplib
 Patch51:        CVE-2025-15367-poplib-ctrl-chars.patch
 # PATCH-FIX-OPENSUSE bsc1260884-llvm21-support.patch bsc#1260884 [email protected]
 # update JIT builds to use LLVM 21
 Patch57:        bsc1260884-llvm21-support.patch
-# PATCH-FIX-UPSTREAM CVE-2026-11940-tarfile-escape.patch bsc#1268977 
[email protected]
-# Fix symlink escape via tarfile hardlink-extraction fallback
-Patch58:        CVE-2026-11940-tarfile-escape.patch
 #### Python 3.14 END OF PATCHES
 BuildRequires:  autoconf-archive
 BuildRequires:  automake

++++++ CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.545946787 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.550946963 +0200
@@ -4,11 +4,11 @@
  Lib/test/test_xml_etree.py |   10 ++++++++++
  3 files changed, 17 insertions(+)
 
-Index: Python-3.14.6/Lib/test/test_pyexpat.py
+Index: Python-3.14.7/Lib/test/test_pyexpat.py
 ===================================================================
---- Python-3.14.6.orig/Lib/test/test_pyexpat.py        2026-06-16 
10:10:27.487668052 +0200
-+++ Python-3.14.6/Lib/test/test_pyexpat.py     2026-06-16 10:12:18.364066546 
+0200
-@@ -1032,6 +1032,10 @@
+--- Python-3.14.7.orig/Lib/test/test_pyexpat.py        2026-08-07 
19:07:31.236195513 +0200
++++ Python-3.14.7/Lib/test/test_pyexpat.py     2026-08-07 19:07:56.508246251 
+0200
+@@ -1038,6 +1038,10 @@
          self.assertEqual(started, ['doc'])
  
      def test_reparse_deferral_disabled(self):
@@ -19,10 +19,10 @@
          started = []
  
          def start_element(name, _):
-Index: Python-3.14.6/Lib/test/test_sax.py
+Index: Python-3.14.7/Lib/test/test_sax.py
 ===================================================================
---- Python-3.14.6.orig/Lib/test/test_sax.py    2026-06-16 10:10:27.552009501 
+0200
-+++ Python-3.14.6/Lib/test/test_sax.py 2026-06-16 10:12:18.364564564 +0200
+--- Python-3.14.7.orig/Lib/test/test_sax.py    2026-08-07 19:07:31.324948848 
+0200
++++ Python-3.14.7/Lib/test/test_sax.py 2026-08-07 19:07:56.508907960 +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.14.6/Lib/test/test_xml_etree.py
+Index: Python-3.14.7/Lib/test/test_xml_etree.py
 ===================================================================
---- Python-3.14.6.orig/Lib/test/test_xml_etree.py      2026-06-16 
10:10:28.031254289 +0200
-+++ Python-3.14.6/Lib/test/test_xml_etree.py   2026-06-16 10:12:18.365162471 
+0200
+--- Python-3.14.7.orig/Lib/test/test_xml_etree.py      2026-08-07 
19:07:31.937328731 +0200
++++ Python-3.14.7/Lib/test/test_xml_etree.py   2026-08-07 19:07:56.509707048 
+0200
 @@ -138,6 +138,11 @@
      return mock.patch.object(cls, "__eq__", autospec=True, wraps=eq)
  

++++++ F00251-change-user-install-location.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.576947879 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.579947985 +0200
@@ -24,14 +24,14 @@
 Co-authored-by: Michal Cyprian <[email protected]>
 Co-authored-by: Lumír Balhar <[email protected]>
 ---
- Lib/sysconfig/__init__.py  |   49 
++++++++++++++++++++++++++++++++++++++++++++-
+ Lib/sysconfig/__init__.py  |   51 
++++++++++++++++++++++++++++++++++++++++++++-
  Lib/test/test_sysconfig.py |   17 +++++++++++++--
- 2 files changed, 63 insertions(+), 3 deletions(-)
+ 2 files changed, 65 insertions(+), 3 deletions(-)
 
-Index: Python-3.14.0/Lib/sysconfig/__init__.py
+Index: Python-3.14.7/Lib/sysconfig/__init__.py
 ===================================================================
---- Python-3.14.0.orig/Lib/sysconfig/__init__.py       2025-10-08 
11:27:28.335887277 +0200
-+++ Python-3.14.0/Lib/sysconfig/__init__.py    2025-10-08 11:28:00.652215416 
+0200
+--- Python-3.14.7.orig/Lib/sysconfig/__init__.py       2026-08-07 
19:07:28.614805794 +0200
++++ Python-3.14.7/Lib/sysconfig/__init__.py    2026-08-07 19:07:42.764435345 
+0200
 @@ -106,6 +106,11 @@
  else:
      _INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@@ -115,10 +115,10 @@
      if os.name == 'nt':
          # On Windows we want to substitute 'lib' for schemes rather
          # than the native value (without modifying vars, in case it
-Index: Python-3.14.0/Lib/test/test_sysconfig.py
+Index: Python-3.14.7/Lib/test/test_sysconfig.py
 ===================================================================
---- Python-3.14.0.orig/Lib/test/test_sysconfig.py      2025-10-08 
11:27:30.181651013 +0200
-+++ Python-3.14.0/Lib/test/test_sysconfig.py   2025-10-08 11:28:00.653226898 
+0200
+--- Python-3.14.7.orig/Lib/test/test_sysconfig.py      2026-08-07 
19:07:31.527644402 +0200
++++ Python-3.14.7/Lib/test/test_sysconfig.py   2026-08-07 19:07:42.765345312 
+0200
 @@ -132,8 +132,19 @@
          for scheme in _INSTALL_SCHEMES:
              for name in _INSTALL_SCHEMES[scheme]:
@@ -140,7 +140,7 @@
                      os.path.normpath(expected),
                  )
  
-@@ -395,7 +406,7 @@
+@@ -397,7 +408,7 @@
          self.assertTrue(os.path.isfile(config_h), config_h)
  
      def test_get_scheme_names(self):
@@ -149,7 +149,7 @@
          if HAS_USER_BASE:
              wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
          self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
-@@ -407,6 +418,8 @@
+@@ -409,6 +420,8 @@
              cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
              self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))
  

++++++ Python-3.14.6.tar.xz -> Python-3.14.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/python314/Python-3.14.6.tar.xz 
/work/SRC/openSUSE:Factory/.python314.new.1258/Python-3.14.7.tar.xz differ: 
char 26, line 1

++++++ Python-3.14.6.tar.xz.sigstore -> Python-3.14.7.tar.xz.sigstore ++++++
--- /work/SRC/openSUSE:Factory/python314/Python-3.14.6.tar.xz.sigstore  
2026-07-02 20:07:56.466234596 +0200
+++ 
/work/SRC/openSUSE:Factory/.python314.new.1258/Python-3.14.7.tar.xz.sigstore    
    2026-08-25 13:18:10.254901301 +0200
@@ -1 +1 @@
-{"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", 
"verificationMaterial": {"certificate": {"rawBytes": 
"MIIDIjCCAqmgAwIBAgIULkeeHVLebzeKX+03cM5j8kDhiSgwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNjEwMTMxMTEyWhcNMjYwNjEwMTMyMTEyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJ+TWhqkbMElNdRRWS8DnLzynKtn9tf3UgFD0gf9cSoZDkq/B5tGR/DjiDMrZzh55GRs6bZa/+BYQH8awUAq/W6OCAcgwggHEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQULkRpDZ2dwvwt+eV0xpF5mrc7ipIwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABnrGoh70AAAQDAEgwRgIhAJlet4AMGmjtESDZwbTZP3JxqpkuPNLd2ynKoJSER6PPAiEAvlpy
 
ohxYUFvrgalexO673wDjZDuAp2FgOVQvRrAbdjowCgYIKoZIzj0EAwMDZwAwZAIwMphCvp78RpPcyPuhHqMUNgbYMFHDcY2AB7FWETmVbpwhqaACSICPDkYmDwkH5H4gAjBVcklCSMj5TF8+ezEtsjsWH0ubihdYPmcyZcex3lJ7MHI1jsC00FMpt7ZCuzbKAMU="},
 "tlogEntries": [{"logIndex": "1779450776", "logId": {"keyId": 
"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": 
"hashedrekord", "version": "0.0.1"}, "integratedTime": "1781097073", 
"inclusionPromise": {"signedEntryTimestamp": 
"MEQCIC7lJDNXEwW901DTrmqipF8X542vkKWpPrizH113LT30AiAjOXr76ssc7mmuc0tGONUh5NVvzQYZIbmK5hLaF+nQRA=="},
 "inclusionProof": {"logIndex": "1657546514", "rootHash": 
"0m2umLO+lqcF7koOZP+01JIJJldfGMH8cDsdWVt0aMA=", "treeSize": "1657546545", 
"hashes": ["fX2kxxsiws+tyGDcuhm1Bcc5sA0jYheWqT261AsOFeA=", 
"rIqkz50Pnn6BtzHFC0HU7qxoXLTqZIT4BjaaacYJzWs=", 
"GViuZ0wlIU9G6I+yAqAFql5A57pkRWyYBpIXLg/oHLg=", 
"3rkkmOJp2MaBqtUH7f+1iZehvWIsMScIqgIPgBMVGxc=", 
"2kA2FuT2Y8ELOJOvDXltrByw483Js1R79fXuIFfVB7k=", 
"v/zSXPVfubc3/VCAy8CdjknD7ro87A3InMhVXc7Iz6Q=", "lfvD66pLCHkxLvHN
 AI9NmQlGnF/VuM8rxE4wHlMymtQ=", "YKXYAopRdd7Gaq+8RaEaNzT3lC/XGwrGusuWsPwAyxg=", 
"uZxh5RpoVTYrvwPqUFfYUd7V3MNDza3o4MCR70SHMDs=", 
"PUY304hukZpnE6QuNQYojqF3bYfbI29bEcDPo7CAebI=", 
"g+V3slT2z05RxYCCDoBaY6CX+OmrM/MhEcIrdc9U5cs=", 
"A4fJfaFHp2z9e1dHp9ADqQU6Lk0K292ifWE1buyw5sg=", 
"phbrqVrscGmqV5frx3cP3FZg0R9d16flgXnmF8YlBJs=", 
"JeFJuYar3D4uBzvMd7x3qts+CGhYQOGMaAiiYVFCxto=", 
"mDCdA8t/LGc+hqiV0SOyqPXlOYPyWpasRaDDvCC8JAE=", 
"daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=", 
"DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="], "checkpoint": {"envelope": 
"rekor.sigstore.dev - 
1193050959916656506\n1657546545\n0m2umLO+lqcF7koOZP+01JIJJldfGMH8cDsdWVt0aMA=\n\n\u2014
 rekor.sigstore.dev 
wNI9ajBGAiEAkM2f0vvZfOvp1piRnKN1uUPwdIk7li+MXpcnopKsta4CIQCGS4DDntVzYa0gfFFgZkqW0PWB7SPLRpiGzoe2rpC2CQ==\n"}},
 "canonicalizedBody": 
"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIxNDNiMWRkZGVmYWVjM2JkMmUyMWUzYjgzOWIzNGEyYjdmYjk4NDIyNzI4ODNjNTc2
 
NDIwZDYwNWU5ZjMwYzYzIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJQitJOTY2ZEg2K20zRktNeXdaRU8zaUdZQmFscGN2amJTQ3NEKzFHdTNqSUFpQThrNEZ5UzRxdS9mNTkzOVJwZ3Ayb1RVRlhaM1NSa3M3WGdpZkxqUmNsVUE9PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpha05EUVhGdFowRjNTVUpCWjBsVlRHdGxaVWhXVEdWaWVtVkxXQ3N3TTJOTk5XbzRhMFJvYVZObmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDVxUlhkTlZFMTRUVlJGZVZkb1kwNU5hbGwzVG1wRmQwMVVUWGxOVkVWNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZLSzFSWGFIRnJZazFGYkU1a1VsSlhVemhFYmt4NmVXNUxkRzQ1ZEdZelZXZEdSREFLWjJZNVkxTnZXa1JyY1M5Q05YUkhVaTlFYW1sRVRYSmFlbWcxTlVkU2N6WmlXbUV2SzBKWlVVZzRZWGRWUVhFdlZ6WlBRMEZqWjNkblowaEZUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZNYTFKd0NrUmFNbVIzZG5kMEsyVldNSGh3UmpWdGNtT
 
TNhWEJKZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhWGRaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamxDU0hOQlpWRkNNMEZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdWNrZHZhRGN3UVVGQlVVUkJSV2QzVW1kSmFFRktiR1VLZERSQlRVZHRhblJGVTBSYWQySlVXbEF6U25oeGNHdDFVRTVNWkRKNWJrdHZTbE5GVWpaUVVFRnBSVUYyYkhCNWIyaDRXVlZHZG5KbllXeGxlRTgyTndvemQwUnFXa1IxUVhBeVJtZFBWbEYyVW5KQlltUnFiM2REWjFsSlMyOWFTWHBxTUVWQmQwMUVXbmRCZDFwQlNYZE5jR2hEZG5BM09GSndVR0
 
41VUhWb0NraHhUVlZPWjJKWlRVWklSR05aTWtGQ04wWlhSVlJ0Vm1Kd2QyaHhZVUZEVTBsRFVFUnJXVzFFZDJ0SU5VZzBaMEZxUWxaamEyeERVMDFxTlZSR09Dc0taWHBGZEhOcWMxZElNSFZpYVdoa1dWQnRZM2xhWTJWNE0yeEtOMDFJU1RGcWMwTXdNRVpOY0hRM1drTjFlbUpMUVUxVlBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}],
 "timestampVerificationData": {}}, "messageSignature": {"messageDigest": 
{"algorithm": "SHA2_256", "digest": 
"FDsd3e+uw70uIeO4ObNKK3+5hCJyiDxXZCDWBenzDGM="}, "signature": 
"MEQCIB+I966dH6+m3FKMywZEO3iGYBalpcvjbSCsD+1Gu3jIAiA8k4FyS4qu/f5939Rpgp2oTUFXZ3SRks7XgifLjRclUA=="}}
+{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIDIjCCAqigAwIBAgIUJwHL/sXPKE0FKGU44o7RbsWWNaUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODA1MTMwNjA0WhcNMjYwODA1MTMxNjA0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETd9SIY+2Qsuh9jnhVD2tMDK1Ku6vjy8zQzKfspSaLuwTh6AVvdOTgb4lWmNuWtu6CzCSb0vG6tP8ShuQRsHwGaOCAccwggHDMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU5RbcdwPk2PJ1F5t2kM/K6bMQi3kwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDBSBgorBgEEAYO/MAEYBEQMQkNnY3hNekkwTWpJMUVpWm9kSFJ3Y3pvbE1rWWxNa1puYVhSb2RXSXVZMjl0SlRKR2JHOW5hVzRsTWtadllYVjBhQTCBigYKKwYBBAHWeQIEAgR8BHoAeAB2AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABn9IH9O4AAAQDAEcwRQIhAMwPs/tssokDYD7+PHo6jibp/dg7h8LDrztLaLfoZGLUAiACnaZa82AOB
 
K0gsFv3LlAETXoD9Uh3pirSA2orX2Ls4zAKBggqhkjOPQQDAwNoADBlAjAFR8L5tf+XhzkCHB0GXBhrDXVxD4kclB3PHJPevUCS8zg5es37Ybl2K3IV0721+h4CMQDov9tgIASRuZjTV/VxTK4KxyQM5KO+WPfwKaS7UkIIoyY3eBVOhjdKFomni7PBgeg="},"tlogEntries":[{"logIndex":"2345042428","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1785935165","inclusionPromise":{"signedEntryTimestamp":"MEMCH2GAxIMatN1qlhQB5H1qOcak8eXrqoGOwWw/9frSqSICIHlQ85JN734TYruogLQnab06gjGpULFgOrPBAw9y2Z7L"},"inclusionProof":{"logIndex":"2223138166","rootHash":"CxX/4eAnOT03MQIZVGB9RLEU2McdFaThNRM57VU/BqI=","treeSize":"2223138170","hashes":["89xKFo5K9PSjisoQaSLBYx1L8qZKZ8ktD4SUtwrqW98=","0hVXMx9tLmahgA5tomx1+a1QatvycHAdl14/E1cadtY=","DEtmO5PIOSYwu9sr6L72rBykWLgF7XQ72SbJkeh1G5g=","o5NlmTA0tsFyJ5rutoUUPT+xTarB4Yd8rMbEwjbBCgU=","6i2hDZKnGVncEjxVKBWwrbsKPhZ2UDBojVEoUnbWyZc=","UKiAy2s19pRVYsGGRC4jwgJnrtf0Ngjm7RvynrnVb88=","oS6YoqyS4Dzz894+NH02ui0gCvmU+i6nIvdxjdCfxlU=","LRzy82PWA
 
eHovrma2IFEyp5h3kxZN9pnmseqC9s7o9k=","CiBJPCcXkjk5NV6/IoklFfeFA5D5bQ+5coRI3235O8M=","gXeMqd3b2MT1vbOtg8gSlsDzDXIHo3UZq1a6y5pu9kM=","/dkRzCcXQ8FFrhXMX/0eFhUm4McfZz3Y05UWkZKhiwI=","eP9vZN4l1LpRy4jDtU5NyWBNISJEhUysW6rcbcuQnrc=","ScH++eGfXwQDzE/H9Ae7YYnPqN5zAS9Hiq5LGoXV7Hg=","i5Zl8FZrDwxCDv2e2DNO2M8JvpR/c11ElvCZS53/teA=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n2223138170\nCxX/4eAnOT03MQIZVGB9RLEU2McdFaThNRM57VU/BqI=\n\n—
 rekor.sigstore.dev 
wNI9ajBFAiEAwhVb8c7xoe6bebPMFYeSILeVZYFARU+JiygeZqPTidwCIFaYsuplm/r8ghga5DIBGvRRpMYyxsKQnGINIioslRX/\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIzYjQ4ZGFjOGZiNTlmNjJlYWE2N2FjODNjMWViMTJiZGExYjdhMDg0MDZkZDI4NmUyNTJjMTFhNjZiZTI3ZjgxIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRS9NY1RST29uaXFBUzFXdGNpRnR0Q3AxTVlPMVBJVFk1UXJqb2QrOU8zVEFpRUFod0ZTWFBzS1JhekdkS1JYNTBNblhS
 
ODVENkpvOTc0bG5ZUkYyeUFJNHZNPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkpha05EUVhGcFowRjNTVUpCWjBsVlNuZElUQzl6V0ZCTFJUQkdTMGRWTkRSdk4xSmljMWRYVG1GVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFUVRGTlZFMTNUbXBCTUZkb1kwNU5hbGwzVDBSQk1VMVVUWGhPYWtFd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZVWkRsVFNWa3JNbEZ6ZFdnNWFtNW9Wa1F5ZEUxRVN6RkxkVFoyYW5rNGVsRjZTMllLYzNCVFlVeDFkMVJvTmtGV2RtUlBWR2RpTkd4WGJVNTFWM1IxTmtONlExTmlNSFpITm5SUU9GTm9kVkZTYzBoM1IyRlBRMEZqWTNkblowaEVUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlUxVW1KakNtUjNVR3N5VUVveFJqVjBNbXROTDBzMllrMVJhVE5yZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJe
 
lNtNU5RM2RIUTJselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRUpUUW1kdmNrSm5SVVZCV1U4dlRVRkZXVUpGVVUwS1VXdE9ibGt6YUU1bGEydDNWRmR3U2sxVlZuQlhiVGxyVTBaS00xa3pjSFppUlRGeVYxZDRUbUV4Y0hWWlZtaFRZakpTV0ZOWVZscE5hbXd3VTJ4U1N3cFNNa3BJVDFjMWFGWjZVbk5VVjNSaFpHeHNXVlpxUW1oUlZFTkNhV2RaUzB0M1dVSkNRVWhYWlZGSlJVRm5VamhDU0c5QlpVRkNNa0ZPTURsTlIzSkhDbmg0UlhsWmVHdGxTRXBzYms1M1MybFRiRFkwTTJwNWRDODBaVXRqYjBGMlMyVTJUMEZCUVVKdU9VbElPVTgwUVVGQlVVUkJSV04zVWxGSmFFRk5kMUFLY3k5MGMzTnZhMFJaUkRjclVFaHZObXBwWW5BdlpHYzNhRGhNUkhKNmRFeGhUR1p2V2tkTVZVRnBRVU51WVZwaE9ESkJUMEpMTUdkelJuWXpUR3hCUlFwVVdHOUVPVlZvTTNCcGNsTkJNbTl5V0RKTWN6UjZRVXRDWjJkeGFHdHFUMUJSVVVSQmQwNXZRVVJDYkVGcVFVWlNPRXcxZEdZcldHaDZhME5JUWpCSENsaENhSEpFV0ZaNFJEUnJZMnhDTTFCSVNsQmxkbFZEVXpoNlp6Vmxjek0zV1dKc01rc3pTVll3TnpJeEsyZzBRMDFSUkc5Mk9YUm5TVUZUVW5WYWFsUUtWaTlXZUZSTE5FdDRlVkZOTlV0UEsxZF
 
FabmRMWVZNM1ZXdEpTVzk1V1RObFFsWlBhR3BrUzBadmJXNXBOMUJDWjJWblBRb3RMUzB0TFVWT1JDQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENnPT0ifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6jADAgEAMIIE4QYJKoZIhvcNAQcCoIIE0jCCBM4CAQMxDTALBglghkgBZQMEAgEwgcMGCyqGSIb3DQEJEAEEoIGzBIGwMIGtAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg0pReFyoSWLwEwua9gL6kufSx3iX+0PUr3nTQ80v4lycCFQCb3dxATC1+8iEnhHHnc9Whk4WfNhgPMjAyNjA4MDUxMzA2MDRaMAMCAQECCQDjHlvIdcLy5KAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgggIUMIICEDCCAZagAwIBAgIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwMwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZDAeFw0yNTA0MDgwNjU5NDNaFw0zNTA0MDYwNjU5NDNaMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4ra2Z8hKNig2T9kFjCAToGG30jky+WQv3BzL+mKvh1SKNR/UwuwsfNCg4sryoYAd8E6isovVA3M4aoNdm9QDi50Z8nTEyvqgfDPtTIwXItfiW/AFf1V7uwkbkAoj0xxco2owaDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFIn9eUOHz9BlRsMCR
 
scsc1t9tOsDMB8GA1UdIwQYMBaAFJjsAe9/u1H/1JUeb4qImFMHic6/MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMAoGCCqGSM49BAMDA2gAMGUCMDtpsV/6KaO0qyF/UMsX2aSUXKQFdoGTptQGc0ftq1csulHPGG6dsmyMNd3JB+G3EQIxAOajvBcjpJmKb4Nv+2Taoj8Uc5+b6ih6FXCCKraSqupe07zqswMcXJTe1cExvHvvlzGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODA1MTMwNjA0WjAvBgkqhkiG9w0BCQQxIgQg7mO+uWHawutovqca2xJkkGRGxh+5OtWIssyQb8txfUYwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwGXj4AEZVGYpeBu7WKs02mMJTYUITSvliTWDVbz0LALtrQbjkMUUXQLPCK0iAN0ATAjAMYZuyx6bE0AqyktDyFgzHW5q2PXj2qrGwSfYM1vRwzyKWqs/RHazZx/OpY4KxrRE="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"O0jayPtZ9i6qZ6yDwesSvaG3oIQG3ShuJSwRpm
 
vif4E="},"signature":"MEUCIE/McTROoniqAS1WtciFttCp1MYO1PITY5Qrjod+9O3TAiEAhwFSXPsKRazGdKRX50MnXR85D6Jo974lnYRF2yAI4vM="}}

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.688951825 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.691951931 +0200
@@ -1,6 +1,6 @@
-mtime: 1782986586
-commit: a1c64fe7cbc52ac1301387f243433e55c9bbf8797f1b1a1ff9e90094e634812a
+mtime: 1786226926
+commit: e06431a9366afc49ed25c82716104f583cc21924c0499233d64bd2860f6ac67d
 url: https://src.opensuse.org/python-interpreters/python314
-revision: a1c64fe7cbc52ac1301387f243433e55c9bbf8797f1b1a1ff9e90094e634812a
+revision: e06431a9366afc49ed25c82716104f583cc21924c0499233d64bd2860f6ac67d
 projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj
 

++++++ bpo-31046_ensurepip_honours_prefix.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.717952847 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.720952952 +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.14.6/Doc/library/ensurepip.rst
+Index: Python-3.14.7/Doc/library/ensurepip.rst
 ===================================================================
---- Python-3.14.6.orig/Doc/library/ensurepip.rst       2026-06-10 
12:03:53.000000000 +0200
-+++ Python-3.14.6/Doc/library/ensurepip.rst    2026-06-16 10:12:08.808157797 
+0200
+--- Python-3.14.7.orig/Doc/library/ensurepip.rst       2026-08-05 
12:29:49.000000000 +0200
++++ Python-3.14.7/Doc/library/ensurepip.rst    2026-08-07 19:07:51.165024311 
+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.14.6/Lib/ensurepip/__init__.py
+Index: Python-3.14.7/Lib/ensurepip/__init__.py
 ===================================================================
---- Python-3.14.6.orig/Lib/ensurepip/__init__.py       2026-06-16 
10:10:25.098374643 +0200
-+++ Python-3.14.6/Lib/ensurepip/__init__.py    2026-06-16 10:12:08.808547231 
+0200
+--- Python-3.14.7.orig/Lib/ensurepip/__init__.py       2026-08-07 
19:07:27.557696407 +0200
++++ Python-3.14.7/Lib/ensurepip/__init__.py    2026-08-07 19:07:51.165813440 
+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.14.6/Lib/test/test_ensurepip.py
+Index: Python-3.14.7/Lib/test/test_ensurepip.py
 ===================================================================
---- Python-3.14.6.orig/Lib/test/test_ensurepip.py      2026-06-16 
10:10:26.627138884 +0200
-+++ Python-3.14.6/Lib/test/test_ensurepip.py   2026-06-16 10:12:08.808857075 
+0200
+--- Python-3.14.7.orig/Lib/test/test_ensurepip.py      2026-08-07 
19:07:30.013341441 +0200
++++ Python-3.14.7/Lib/test/test_ensurepip.py   2026-08-07 19:07:51.166362306 
+0200
 @@ -110,6 +110,17 @@
              unittest.mock.ANY,
          )
@@ -145,11 +145,11 @@
      def test_bootstrapping_with_user(self):
          ensurepip.bootstrap(user=True)
  
-Index: Python-3.14.6/Makefile.pre.in
+Index: Python-3.14.7/Makefile.pre.in
 ===================================================================
---- Python-3.14.6.orig/Makefile.pre.in 2026-06-16 10:10:41.827230687 +0200
-+++ Python-3.14.6/Makefile.pre.in      2026-06-16 10:12:08.809364732 +0200
-@@ -2377,7 +2377,7 @@
+--- Python-3.14.7.orig/Makefile.pre.in 2026-08-07 19:07:47.331586072 +0200
++++ Python-3.14.7/Makefile.pre.in      2026-08-07 19:07:51.166473302 +0200
+@@ -2383,7 +2383,7 @@
                        install|*) ensurepip="" ;; \
                esac; \
                $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -158,7 +158,7 @@
        fi
  
  .PHONY: altinstall
-@@ -2388,7 +2388,7 @@
+@@ -2394,7 +2394,7 @@
                        install|*) ensurepip="--altinstall" ;; \
                esac; \
                $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
@@ -167,10 +167,10 @@
        fi
  
  .PHONY: commoninstall
-Index: 
Python-3.14.6/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
+Index: 
Python-3.14.7/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.14.6/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst   
   2026-06-16 10:12:08.809892476 +0200
++++ 
Python-3.14.7/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst   
   2026-08-07 19:07:51.168369163 +0200
 @@ -0,0 +1 @@
 +A directory prefix can now be specified when using :mod:`ensurepip`.
 

++++++ bsc1260884-llvm21-support.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.736953516 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.740953657 +0200
@@ -47,16 +47,16 @@
  6 files changed, 129 insertions(+), 47 deletions(-)
  create mode 100644 
Misc/NEWS.d/next/Core_and_Builtins/2025-10-19-10-32-28.gh-issue-136895.HfsEh0.rst
 
-Index: 
Python-3.14.5/Misc/NEWS.d/next/Core_and_Builtins/2025-10-19-10-32-28.gh-issue-136895.HfsEh0.rst
+Index: 
Python-3.14.7/Misc/NEWS.d/next/Core_and_Builtins/2025-10-19-10-32-28.gh-issue-136895.HfsEh0.rst
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ 
Python-3.14.5/Misc/NEWS.d/next/Core_and_Builtins/2025-10-19-10-32-28.gh-issue-136895.HfsEh0.rst
    2026-06-09 17:46:26.697055741 +0200
++++ 
Python-3.14.7/Misc/NEWS.d/next/Core_and_Builtins/2025-10-19-10-32-28.gh-issue-136895.HfsEh0.rst
    2026-08-07 19:11:47.992178177 +0200
 @@ -0,0 +1 @@
 +Update JIT compilation to use LLVM 21 at build time.
-Index: Python-3.14.5/Python/jit.c
+Index: Python-3.14.7/Python/jit.c
 ===================================================================
---- Python-3.14.5.orig/Python/jit.c    2026-05-10 12:21:34.000000000 +0200
-+++ Python-3.14.5/Python/jit.c 2026-06-09 17:46:26.697445194 +0200
+--- Python-3.14.7.orig/Python/jit.c    2026-08-05 12:29:49.000000000 +0200
++++ Python-3.14.7/Python/jit.c 2026-08-07 19:11:47.993026779 +0200
 @@ -355,15 +355,43 @@
  }
  
@@ -198,10 +198,10 @@
      if (mark_executable(memory, total_size)) {
          jit_free(memory, total_size);
          return -1;
-Index: Python-3.14.5/Tools/jit/README.md
+Index: Python-3.14.7/Tools/jit/README.md
 ===================================================================
---- Python-3.14.5.orig/Tools/jit/README.md     2026-05-10 12:21:34.000000000 
+0200
-+++ Python-3.14.5/Tools/jit/README.md  2026-06-09 17:46:26.697785736 +0200
+--- Python-3.14.7.orig/Tools/jit/README.md     2026-08-05 12:29:49.000000000 
+0200
++++ Python-3.14.7/Tools/jit/README.md  2026-08-07 19:11:47.993737500 +0200
 @@ -9,32 +9,32 @@
  
  The JIT compiler does not require end users to install any third-party 
dependencies, but part of it must be *built* using LLVM[^why-llvm]. You are 
*not* required to build the rest of CPython using LLVM, or even the same 
version of LLVM (in fact, this is uncommon).
@@ -263,10 +263,10 @@
  
  ## Building
  
-Index: Python-3.14.5/Tools/jit/_llvm.py
+Index: Python-3.14.7/Tools/jit/_llvm.py
 ===================================================================
---- Python-3.14.5.orig/Tools/jit/_llvm.py      2026-06-09 17:44:38.670623837 
+0200
-+++ Python-3.14.5/Tools/jit/_llvm.py   2026-06-09 17:47:08.195123227 +0200
+--- Python-3.14.7.orig/Tools/jit/_llvm.py      2026-08-07 19:07:32.941986588 
+0200
++++ Python-3.14.7/Tools/jit/_llvm.py   2026-08-07 19:11:47.994376125 +0200
 @@ -10,11 +10,11 @@
  
  import _targets
@@ -334,10 +334,10 @@
      # Nothing found:
      return None
  
-Index: Python-3.14.5/Tools/jit/_stencils.py
+Index: Python-3.14.7/Tools/jit/_stencils.py
 ===================================================================
---- Python-3.14.5.orig/Tools/jit/_stencils.py  2026-06-09 17:44:38.674278273 
+0200
-+++ Python-3.14.5/Tools/jit/_stencils.py       2026-06-09 17:46:26.698349709 
+0200
+--- Python-3.14.7.orig/Tools/jit/_stencils.py  2026-08-07 19:07:32.947781493 
+0200
++++ Python-3.14.7/Tools/jit/_stencils.py       2026-08-07 19:11:47.994780488 
+0200
 @@ -274,6 +274,23 @@
                  self._trampolines.add(ordinal)
                  hole.addend = ordinal
@@ -362,10 +362,10 @@
          self.code.remove_jump()
          self.code.add_nops(nop=nop, alignment=alignment)
          self.data.pad(8)
-Index: Python-3.14.5/Tools/jit/_targets.py
+Index: Python-3.14.7/Tools/jit/_targets.py
 ===================================================================
---- Python-3.14.5.orig/Tools/jit/_targets.py   2026-06-09 17:44:38.676793727 
+0200
-+++ Python-3.14.5/Tools/jit/_targets.py        2026-06-09 17:46:26.698569463 
+0200
+--- Python-3.14.7.orig/Tools/jit/_targets.py   2026-08-07 19:07:32.950821379 
+0200
++++ Python-3.14.7/Tools/jit/_targets.py        2026-08-07 19:11:47.995200170 
+0200
 @@ -150,10 +150,6 @@
              "-fno-asynchronous-unwind-tables",
              # Don't call built-in functions that we can't find or patch:

++++++ 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-08-09 00:08:46.000000000 +0200
@@ -0,0 +1,5 @@
+.osc
+*.obscpio
+_build.*
+.pbuild
+python314-*-build/

++++++ fix-test-recursion-limit-15.6.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.894959083 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.897959189 +0200
@@ -2,10 +2,10 @@
  Lib/test/test_compile.py |    5 +++++
  1 file changed, 5 insertions(+)
 
-Index: Python-3.14.2/Lib/test/test_compile.py
+Index: Python-3.14.7/Lib/test/test_compile.py
 ===================================================================
---- Python-3.14.2.orig/Lib/test/test_compile.py        2025-12-11 
18:10:57.011786647 +0100
-+++ Python-3.14.2/Lib/test/test_compile.py     2025-12-11 18:12:09.732814688 
+0100
+--- Python-3.14.7.orig/Lib/test/test_compile.py        2026-08-07 
19:07:29.577410021 +0200
++++ Python-3.14.7/Lib/test/test_compile.py     2026-08-07 19:08:56.591253471 
+0200
 @@ -24,6 +24,9 @@
  from test.support.bytecode_helper import instructions_with_positions
  from test.support.os_helper import FakePath
@@ -29,7 +29,7 @@
      @support.cpython_only
      @unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
 +    @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
+     @support.run_with_limited_c_stack(
+         100_000 if sys.platform == "android" else 500_000)
      @support.skip_emscripten_stack_overflow()
-     def test_compiler_recursion_limit(self):
-         # Compiler frames are small
 

++++++ python-3.3.0b1-fix_date_time_compiler.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.962961479 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.965961585 +0200
@@ -2,11 +2,11 @@
  Makefile.pre.in |    5 +++++
  1 file changed, 5 insertions(+)
 
-Index: Python-3.14.2/Makefile.pre.in
+Index: Python-3.14.7/Makefile.pre.in
 ===================================================================
---- Python-3.14.2.orig/Makefile.pre.in 2025-12-11 18:11:54.290805770 +0100
-+++ Python-3.14.2/Makefile.pre.in      2025-12-11 18:11:58.776792838 +0100
-@@ -1914,6 +1914,11 @@
+--- Python-3.14.7.orig/Makefile.pre.in 2026-08-05 12:29:49.000000000 +0200
++++ Python-3.14.7/Makefile.pre.in      2026-08-07 19:07:47.331586072 +0200
+@@ -1922,6 +1922,11 @@
              -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
              -o $@ $(srcdir)/Modules/getbuildinfo.c
  

++++++ skip-test_pyobject_freed_is_freed.patch ++++++
--- /var/tmp/diff_new_pack.qBDkgO/_old  2026-08-25 13:18:11.995962641 +0200
+++ /var/tmp/diff_new_pack.qBDkgO/_new  2026-08-25 13:18:11.999962783 +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.14.7/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.14.7.orig/Lib/test/test_capi/test_mem.py  2026-08-07 
19:07:29.451027316 +0200
++++ Python-3.14.7/Lib/test/test_capi/test_mem.py       2026-08-07 
19:07:53.946506450 +0200
+@@ -119,6 +119,7 @@
      def test_pyobject_forbidden_bytes_is_freed(self):
          
self.check_pyobject_is_freed('check_pyobject_forbidden_bytes_is_freed')
  

Reply via email to