Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python310 for openSUSE:Factory 
checked in at 2026-09-10 11:48:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python310 (Old)
 and      /work/SRC/openSUSE:Factory/.python310.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python310"

Thu Sep 10 11:48:01 2026 rev:82 rq:1376616 version:3.10.21

Changes:
--------
--- /work/SRC/openSUSE:Factory/python310/python310.changes      2026-09-04 
12:39:56.325591498 +0200
+++ /work/SRC/openSUSE:Factory/.python310.new.1265/python310.changes    
2026-09-10 11:51:05.962856029 +0200
@@ -1,0 +2,148 @@
+Fri Sep  4 21:58:50 UTC 2026 - Matej Cepl <[email protected]>
+
+- Update 3.10.21:
+  - Build
+    - gh-153438: Update Windows build and installer tooling and
+      documentation to use the current download URL for
+      nuget.exe.
+  - Library
+    - 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-146083: Update bundled libexpat to version 2.7.5.
+    - gh-141707: Don’t change tarfile.TarInfo type from AREGTYPE
+      to DIRTYPE when parsing GNU long name or link headers
+      (bsc#1259611, CVE-2025-13462).
+    - gh-90949: Add
+      SetBillionLaughsAttackProtectionActivationThreshold() and
+      SetBillionLaughsAttackProtectionMaximumAmplification() to
+      xmlparser objects to tune protections against billion
+      laughs attacks. Patch by Bénédikt Tran.
+    - gh-100372: ssl.SSLContext.load_verify_locations() no longer
+      incorrectly accepts some cases of trailing data when
+      parsing DER.
+  - 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-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-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 (bsc#1267974, CVE-2026-9669).
+    - 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-149698: Update bundled libexpat to version 2.8.1 for the
+      fix for CVE-2026-45186.
+    - gh-87451: The ftplib module’s undocumented ftpcp function
+      no longer trusts the IPv4 address value returned from the
+      source server in response to the PASV command by default,
+      completing the fix for CVE-2021-4189. As with ftplib.FTP,
+      the former behavior can be re-enabled by setting the
+      trust_server_pasv_ipv4_address attribute on the source
+      ftplib.FTP instance to True. Thanks to Qi Deng at Aurascape
+      AI for the report (bsc#1265268, CVE-2026-8328).
+    - gh-149486: tarfile.data_filter() now validates link targets
+      using the same normalised value that is written to disk,
+      strips trailing separators from the member name when
+      resolving a symlink’s directory, and rejects link members
+      that would replace the destination directory itself. This
+      closes several path-traversal bypasses of the data
+      extraction filter (bsc#1267821, CVE-2026-7774).
+    - gh-149079: Fix a potential denial of service in
+      unicodedata.normalize(). The canonical ordering step of
+      Unicode normalization used a quadratic-time insertion sort
+      for reordering combining characters, which could be
+      exploited with crafted input containing many combining
+      characters in non-canonical order. Replaced with
+      a linear-time counting sort for long runs (bsc#1267581,
+      CVE-2026-3276).
+    - gh-149017: Update bundled libexpat to version 2.8.0.
+    - gh-148395: Fix a dangling input pointer in
+      lzma.LZMADecompressor, bz2.BZ2Decompressor when memory
+      allocation fails with MemoryError, which could let
+      a subsequent decompress() call read or write through
+      a stale pointer to the already-released caller buffer.
+    - gh-148169: A bypass in webbrowser allowed URLs prefixed
+      with %action to pass the dash-prefix safety check
+      (bsc#1262319, CVE-2026-4786).
+    - gh-146581: Fix vulnerability in shutil.unpack_archive() for
+      ZIP files on Windows which allowed to write files outside
+      of the destination tree if the patch in the archive
+      contains a Windows drive prefix. Now such invalid paths
+      will be skipped. Files containing “..” in the name (like
+      “foo..bar”) are no longer skipped.
+    - gh-146333: Fix quadratic backtracking in
+      configparser.RawConfigParser option parsing regexes (OPTCRE
+      and OPTCRE_NV). A crafted configuration line with many
+      whitespace characters could cause excessive CPU usage.
+    - gh-146211: Reject CR/LF characters in tunnel request
+      headers for the HTTPConnection.set_tunnel() method
+      (bsc#1261969, CVE-2026-1502).
+    - gh-145986: xml.parsers.expat: Fixed a crash caused by
+      unbounded C recursion when converting deeply nested XML
+      content models with ElementDeclHandler(). This addresses
+      CVE-2026-4224 (bsc#1259735, CVE-2026-4224).
+    - gh-145599: Reject control characters in http.cookies.Morsel
+      update() and js_output(). This addresses CVE-2026-3644
+      (bsc#1259734, CVE-2026-3644)..
+    - gh-145506: Fixes CVE-2026-2297 by ensuring that
+      SourcelessFileLoader uses io.open_code() when opening .pyc
+      files (bsc#1259240, CVE-2026-2297).
+    - gh-144370: Disallow usage of control characters in status
+      in wsgiref.handlers to prevent HTTP header injections.
+      Patch by Benedikt Johannes.
+    - gh-143930: Reject leading dashes in URLs passed to
+      webbrowser.open() (bsc#1260026, CVE-2026-4519).
+    - gh-143927: Normalize all line endings (CR, CRLF, and LF) to
+      LF+TAB when writing multi-line configparser values
+      (bsc#1269066, CVE-2026-0864).
+  - Tests
+    - gh-149776: Fix test_socket on Linux kernel 7.1 and newer:
+      skip UDP Lite tests if it’s not supported. Patch by Victor
+      Stinner.
+- Removed upstreamed patches:
+  - CVE-2025-13462-tarinfo-header-parse.patch
+  - CVE-2026-0864-normalize-LFTAB-configparser.patch
+  - CVE-2026-11940-tarfile-escape.patch
+  - CVE-2026-11972-tarfile-Stream-seek-EOF.patch
+  - CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
+  - CVE-2026-15308-HTMLParser-CPU-exhaust.patch
+  - CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
+  - CVE-2026-3276-On2-unicodedata-normalize.patch
+  - CVE-2026-3644-cookies-Morsel-update-II.patch
+  - CVE-2026-4224-expat-unbound-C-recursion.patch
+  - CVE-2026-4360-filter_function-TarFile-extractone.patch
+  - CVE-2026-4519-webbrowser-open-dashes.patch
+  - CVE-2026-4786-webbrowser-open-action.patch
+  - CVE-2026-6100-use-after-free-decompression.patch
+  - CVE-2026-7774-tarfile-data_filter-symlink.patch
+  - CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
+  - test_UDPLITE_support.patch
+
+-------------------------------------------------------------------

Old:
----
  CVE-2025-13462-tarinfo-header-parse.patch
  CVE-2026-0864-normalize-LFTAB-configparser.patch
  CVE-2026-11940-tarfile-escape.patch
  CVE-2026-11972-tarfile-Stream-seek-EOF.patch
  CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
  CVE-2026-15308-HTMLParser-CPU-exhaust.patch
  CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
  CVE-2026-3276-On2-unicodedata-normalize.patch
  CVE-2026-3644-cookies-Morsel-update-II.patch
  CVE-2026-4224-expat-unbound-C-recursion.patch
  CVE-2026-4360-filter_function-TarFile-extractone.patch
  CVE-2026-4519-webbrowser-open-dashes.patch
  CVE-2026-4786-webbrowser-open-action.patch
  CVE-2026-6100-use-after-free-decompression.patch
  CVE-2026-7774-tarfile-data_filter-symlink.patch
  CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
  Python-3.10.20.tar.xz
  Python-3.10.20.tar.xz.sigstore
  test_UDPLITE_support.patch

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

----------(Old B)----------
  Old:- Removed upstreamed patches:
  - CVE-2025-13462-tarinfo-header-parse.patch
  - CVE-2026-0864-normalize-LFTAB-configparser.patch
  Old:  - CVE-2025-13462-tarinfo-header-parse.patch
  - CVE-2026-0864-normalize-LFTAB-configparser.patch
  - CVE-2026-11940-tarfile-escape.patch
  Old:  - CVE-2026-0864-normalize-LFTAB-configparser.patch
  - CVE-2026-11940-tarfile-escape.patch
  - CVE-2026-11972-tarfile-Stream-seek-EOF.patch
  Old:  - CVE-2026-11940-tarfile-escape.patch
  - CVE-2026-11972-tarfile-Stream-seek-EOF.patch
  - CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
  Old:  - CVE-2026-11972-tarfile-Stream-seek-EOF.patch
  - CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
  - CVE-2026-15308-HTMLParser-CPU-exhaust.patch
  Old:  - CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
  - CVE-2026-15308-HTMLParser-CPU-exhaust.patch
  - CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
  Old:  - CVE-2026-15308-HTMLParser-CPU-exhaust.patch
  - CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
  - CVE-2026-3276-On2-unicodedata-normalize.patch
  Old:  - CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
  - CVE-2026-3276-On2-unicodedata-normalize.patch
  - CVE-2026-3644-cookies-Morsel-update-II.patch
  Old:  - CVE-2026-3276-On2-unicodedata-normalize.patch
  - CVE-2026-3644-cookies-Morsel-update-II.patch
  - CVE-2026-4224-expat-unbound-C-recursion.patch
  Old:  - CVE-2026-3644-cookies-Morsel-update-II.patch
  - CVE-2026-4224-expat-unbound-C-recursion.patch
  - CVE-2026-4360-filter_function-TarFile-extractone.patch
  Old:  - CVE-2026-4224-expat-unbound-C-recursion.patch
  - CVE-2026-4360-filter_function-TarFile-extractone.patch
  - CVE-2026-4519-webbrowser-open-dashes.patch
  Old:  - CVE-2026-4360-filter_function-TarFile-extractone.patch
  - CVE-2026-4519-webbrowser-open-dashes.patch
  - CVE-2026-4786-webbrowser-open-action.patch
  Old:  - CVE-2026-4519-webbrowser-open-dashes.patch
  - CVE-2026-4786-webbrowser-open-action.patch
  - CVE-2026-6100-use-after-free-decompression.patch
  Old:  - CVE-2026-4786-webbrowser-open-action.patch
  - CVE-2026-6100-use-after-free-decompression.patch
  - CVE-2026-7774-tarfile-data_filter-symlink.patch
  Old:  - CVE-2026-6100-use-after-free-decompression.patch
  - CVE-2026-7774-tarfile-data_filter-symlink.patch
  - CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
  Old:  - CVE-2026-7774-tarfile-data_filter-symlink.patch
  - CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
  - test_UDPLITE_support.patch
  Old:  - CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
  - test_UDPLITE_support.patch
----------(Old E)----------

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

Other differences:
------------------
++++++ python310.spec ++++++
--- /var/tmp/diff_new_pack.2gP17G/_old  2026-09-10 11:51:07.669927622 +0200
+++ /var/tmp/diff_new_pack.2gP17G/_new  2026-09-10 11:51:07.671927706 +0200
@@ -108,7 +108,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.10.20
+Version:        3.10.21
 Release:        0
 Summary:        Python 3 Interpreter
 License:        Python-2.0
@@ -216,71 +216,20 @@
 # PATCH-FIX-UPSTREAM CVE-2025-15367-poplib-ctrl-chars.patch bsc#1257041 
[email protected]
 # Reject control characters in poplib
 Patch40:        CVE-2025-15367-poplib-ctrl-chars.patch
-# PATCH-FIX-UPSTREAM CVE-2026-2297-SourcelessFileLoader-io_open_code.patch 
bsc#1259240 [email protected]
-# Ensure SourcelessFileLoader uses io.open_code
-Patch41:        CVE-2026-2297-SourcelessFileLoader-io_open_code.patch
-# PATCH-FIX-UPSTREAM CVE-2026-3644-cookies-Morsel-update-II.patch bsc#1259734 
[email protected]
-# Reject control characters in http.cookies.Morsel.update() and 
http.cookies.BaseCookie.js_output
-Patch42:        CVE-2026-3644-cookies-Morsel-update-II.patch
-# PATCH-FIX-UPSTREAM CVE-2026-4224-expat-unbound-C-recursion.patch bsc#1259735 
[email protected]
-# Avoid unbound C recursion in conv_content_model
-Patch43:        CVE-2026-4224-expat-unbound-C-recursion.patch
-# PATCH-FIX-UPSTREAM CVE-2025-13462-tarinfo-header-parse.patch bsc#1259611 
[email protected]
-# Skip TarInfo DIRTYPE normalization during GNU long name handling
-Patch44:        CVE-2025-13462-tarinfo-header-parse.patch
-# PATCH-FIX-UPSTREAM CVE-2026-4519-webbrowser-open-dashes.patch bsc#1260026 
[email protected]
-# reject leading dashes in webbrowser URLs
-Patch45:        CVE-2026-4519-webbrowser-open-dashes.patch
 # PATCH-FIX-UPSTREAM CVE-2026-3479-pkgutil_get_data.patch bsc#1259989 
[email protected]
 # pkgutil.get_data() reject invalid resource arguments
 Patch46:        CVE-2026-3479-pkgutil_get_data.patch
 # PATCH-FIX-UPSTREAM CVE-2026-3446-base64-padding.patch bsc#1261970 
[email protected]
 # Do not ignore excess Base64 data after the first padded quad
 Patch47:        CVE-2026-3446-base64-padding.patch
-# PATCH-FIX-UPSTREAM CVE-2026-6100-use-after-free-decompression.patch 
bsc#1262098 [email protected]
-# NULL dangling pointer to avoid use-after-free error
-Patch48:        CVE-2026-6100-use-after-free-decompression.patch
-# PATCH-FIX-UPSTREAM CVE-2026-4786-webbrowser-open-action.patch bsc#1262319 
[email protected]
-# Fix webbrowser %action substitution bypass of dash-prefix check
-Patch49:        CVE-2026-4786-webbrowser-open-action.patch
-# PATCH-FIX-UPSTREAM CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch bsc#1261969 
[email protected]
-# Reject CR/LF in HTTP tunnel request headers
-Patch50:        CVE-2026-1502-reject-CRLF-HTTP-tunnel.patch
 # PATCH-FIX-UPSTREAM CVE-2026-6019-Morsel-js_output.patch bsc#1262654 
[email protected]
 # Base64-encode cookie values embedded in JS
 Patch51:        CVE-2026-6019-Morsel-js_output.patch
-# PATCH-FIX-UPSTREAM CVE-2026-11940-tarfile-escape.patch bsc#1268977 
[email protected]
-# Fix symlink escape via tarfile hardlink-extraction fallback
-Patch52:        CVE-2026-11940-tarfile-escape.patch
-# PATCH-FIX-UPSTREAM CVE-2026-8328-ftplib-no-trust-PASV-resp.patch bsc#1265268 
[email protected]
-# Make ftplib not trust the PASV response
-Patch53:        CVE-2026-8328-ftplib-no-trust-PASV-resp.patch
 # PATCH-FIX-UPSTREAM CVE-2026-7210-pyexpat-entropy-hash-flooding.patch 
bsc#1264962 [email protected]
 # Use XML_SetHashSalt16Bytes in pyexpat/_elementtree when possible
 Patch54:        CVE-2026-7210-pyexpat-entropy-hash-flooding.patch
-# PATCH-FIX-OPENSUSE test_UDPLITE_support.patch bsc#1268375 [email protected]
-# improve testing of the presence of IPPROTO_UDPLITE support
-Patch55:        test_UDPLITE_support.patch
 # PATCH-FIX-UPSTREAM Based on gh#python/cpython#142057 Support fixes required 
for Sphinx 9
 Patch56:        support-sphinx-9.patch
-# PATCH-FIX-UPSTREAM CVE-2026-15308-HTMLParser-CPU-exhaust.patch bsc#1271192 
[email protected]
-# Fix quadratic complexity in incremental parsing in HTMLParser
-Patch57:        CVE-2026-15308-HTMLParser-CPU-exhaust.patch
-# PATCH-FIX-UPSTREAM CVE-2026-4360-filter_function-TarFile-extractone.patch 
bsc#1269959 [email protected]
-# Pass filter_function to TarFile._extract_one() during .extract()
-Patch58:        CVE-2026-4360-filter_function-TarFile-extractone.patch
-# PATCH-FIX-UPSTREAM CVE-2026-11972-tarfile-Stream-seek-EOF.patch bsc#1269788 
[email protected]
-# Make tarfile._Stream.seek break at EOF
-Patch59:        CVE-2026-11972-tarfile-Stream-seek-EOF.patch
-# PATCH-FIX-UPSTREAM CVE-2026-0864-normalize-LFTAB-configparser.patch 
bsc#1269066 [email protected]
-# Normalize all line endings (CR, CRLF, and LF) in configparser
-Patch60:        CVE-2026-0864-normalize-LFTAB-configparser.patch
-# PATCH-FIX-UPSTREAM CVE-2026-7774-tarfile-data_filter-symlink.patch 
bsc#1267821 [email protected]
-# tarfile.data_filter: validate written link target
-Patch61:        CVE-2026-7774-tarfile-data_filter-symlink.patch
-# PATCH-FIX-UPSTREAM CVE-2026-3276-On2-unicodedata-normalize.patch bsc#1267581 
[email protected]
-# gh-149079: Fix O(n^2) canonical ordering in unicodedata.normalize()
-Patch62:        CVE-2026-3276-On2-unicodedata-normalize.patch
 # PATCH-FIX-UPSTREAM bsc1263083-http-cookies-atob-utf8.patch bsc#1263083 
[email protected]
 # Use decodeURIComponent() for UTF-8 support in js_output()
 Patch63:        bsc1263083-http-cookies-atob-utf8.patch

++++++ CVE-2026-7210-pyexpat-entropy-hash-flooding.patch ++++++
--- /var/tmp/diff_new_pack.2gP17G/_old  2026-09-10 11:51:07.727930055 +0200
+++ /var/tmp/diff_new_pack.2gP17G/_new  2026-09-10 11:51:07.732930265 +0200
@@ -16,13 +16,13 @@
  5 files changed, 25 insertions(+), 6 deletions(-)
  create mode 100644 
Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
 
-Index: Python-3.10.20/Include/pyexpat.h
+Index: Python-3.10.21/Include/pyexpat.h
 ===================================================================
---- Python-3.10.20.orig/Include/pyexpat.h      2026-03-03 01:49:35.000000000 
+0100
-+++ Python-3.10.20/Include/pyexpat.h   2026-07-07 23:42:58.087418557 +0200
-@@ -57,6 +57,9 @@
+--- Python-3.10.21.orig/Include/pyexpat.h      2026-08-13 01:03:10.000000000 
+0200
++++ Python-3.10.21/Include/pyexpat.h   2026-09-04 23:54:30.719691393 +0200
+@@ -62,6 +62,9 @@
          XML_Parser parser, unsigned long long activationThresholdBytes);
-     XML_Bool (*SetAllocTrackerMaximumAmplification)(
+     XML_Bool (*SetBillionLaughsAttackProtectionMaximumAmplification)(
          XML_Parser parser, float maxAmplificationFactor);
 +    /* might be NULL for expat < 2.8.0 */
 +    XML_Bool (*SetHashSalt16Bytes)(
@@ -30,10 +30,10 @@
      /* always add new stuff to the end! */
  };
  
-Index: Python-3.10.20/Include/pyhash.h
+Index: Python-3.10.21/Include/pyhash.h
 ===================================================================
---- Python-3.10.20.orig/Include/pyhash.h       2026-03-03 01:49:35.000000000 
+0100
-+++ Python-3.10.20/Include/pyhash.h    2026-07-07 23:42:58.087713984 +0200
+--- Python-3.10.21.orig/Include/pyhash.h       2026-08-13 01:03:10.000000000 
+0200
++++ Python-3.10.21/Include/pyhash.h    2026-09-04 23:54:30.720013160 +0200
 @@ -35,7 +35,7 @@
  /* hash secret
   *
@@ -62,18 +62,18 @@
      } expat;
  } _Py_HashSecret_t;
  PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret;
-Index: 
Python-3.10.20/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
+Index: 
Python-3.10.21/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ 
Python-3.10.20/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
    2026-07-07 23:42:58.087903552 +0200
++++ 
Python-3.10.21/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
    2026-09-04 23:54:30.720519464 +0200
 @@ -0,0 +1,3 @@
 +Improved protection against XML hash-flooding attacks in
 +:mod:`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is
 +compiled with libExpat 2.8.0 or later.
-Index: Python-3.10.20/Modules/_elementtree.c
+Index: Python-3.10.21/Modules/_elementtree.c
 ===================================================================
---- Python-3.10.20.orig/Modules/_elementtree.c 2026-03-03 01:49:35.000000000 
+0100
-+++ Python-3.10.20/Modules/_elementtree.c      2026-07-07 23:42:58.088396401 
+0200
+--- Python-3.10.21.orig/Modules/_elementtree.c 2026-08-13 01:03:10.000000000 
+0200
++++ Python-3.10.21/Modules/_elementtree.c      2026-09-04 23:54:30.721202561 
+0200
 @@ -3663,8 +3663,12 @@
          PyErr_NoMemory();
          return -1;
@@ -89,11 +89,11 @@
          EXPAT(SetHashSalt)(self->parser,
                             (unsigned long)_Py_HashSecret.expat.hashsalt);
      }
-Index: Python-3.10.20/Modules/pyexpat.c
+Index: Python-3.10.21/Modules/pyexpat.c
 ===================================================================
---- Python-3.10.20.orig/Modules/pyexpat.c      2026-07-07 23:42:57.926077481 
+0200
-+++ Python-3.10.20/Modules/pyexpat.c   2026-07-07 23:42:58.088983398 +0200
-@@ -1379,7 +1379,10 @@
+--- Python-3.10.21.orig/Modules/pyexpat.c      2026-09-04 23:51:39.756865701 
+0200
++++ Python-3.10.21/Modules/pyexpat.c   2026-09-04 23:54:30.721766995 +0200
+@@ -1453,7 +1453,10 @@
          Py_DECREF(self);
          return NULL;
      }
@@ -105,7 +105,7 @@
      /* This feature was added upstream in libexpat 2.1.0. */
      XML_SetHashSalt(self->itself,
                      (unsigned long)_Py_HashSecret.expat.hashsalt);
-@@ -2187,6 +2190,11 @@
+@@ -2261,6 +2264,11 @@
  #else
      capi.SetHashSalt = NULL;
  #endif

++++++ Python-3.10.20.tar.xz -> Python-3.10.21.tar.xz ++++++
/work/SRC/openSUSE:Factory/python310/Python-3.10.20.tar.xz 
/work/SRC/openSUSE:Factory/.python310.new.1265/Python-3.10.21.tar.xz differ: 
char 26, line 1

++++++ Python-3.10.20.tar.xz.sigstore -> Python-3.10.21.tar.xz.sigstore ++++++
--- /work/SRC/openSUSE:Factory/python310/Python-3.10.20.tar.xz.sigstore 
2026-03-09 16:13:01.413090624 +0100
+++ 
/work/SRC/openSUSE:Factory/.python310.new.1265/Python-3.10.21.tar.xz.sigstore   
    2026-09-10 11:51:05.796849067 +0200
@@ -1 +1 @@
-{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIICzTCCAlSgAwIBAgIUDhoArZLe6c38fDaopvK8CP875B4wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwMzAzMDExMDAzWhcNMjYwMzAzMDEyMDAzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE58F5Ofb9nq7EsHC961Pc/WJbCQHg7vxPfoArUfUv3Qo3pJkzcHjVgqEoxlYzGMnIl3I7FdbcaVO5USKsGWTWSaOCAXMwggFvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUmeInD47KeQVcl6B0n3yUFZn0CsQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wIgYDVR0RAQH/BBgwFoEUcGFibG9nc2FsQHB5dGhvbi5vcmcwKQYKKwYBBAGDvzABAQQbaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tMCsGCisGAQQBg78wAQgEHQwbaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGcsT62UwAABAMASDBGAiEAtmAUEzUXz6jJ8QB4+VdAL6ZSHbDoslJlXW4Fz8U5iiMCIQCRqOfH4T2l6gXe/yz23dy3jAHybVLLEGzPhtjhycLD5TAKBggqhkjOPQQDAwNnADBkAjArsGoXtWBUkzvNTvafksr/S9KDapVo2/g0JqCNLeC1B53SxybZ8wGaD
 
0CdRucbXgwCME4LVWe8LENh87QijZI5AutcbF6SV/q8cZU4ApvM/EG67PD4y3Cq9mnfkSTmq0acaA=="},"tlogEntries":[{"logIndex":"1013523411","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1772500203","inclusionPromise":{"signedEntryTimestamp":"MEQCIQCo79CUmW825tPvDuDuktkD/8u2HdFtaXqGyvvn2Hwb3QIfJ2LlRVJv5J7RQpv5Ewgdj8eu0U0XNPmi8oGmNy52EQ=="},"inclusionProof":{"logIndex":"891619149","rootHash":"HNDps+Y1dPfxC24y65NMHyhhH8AsRJ9eavTYluKA0qE=","treeSize":"891619162","hashes":["SPHnI4ETb+r1yabvTNyY9wLxjGV+8XOHp95gEWG38Ik=","FeCim6GlixcSxMIWYhhHkPlDZw3gJyhnqdvIlobqO6Y=","TBjakqWuJID8vKIkxLbNFABPMhjI+4y07Ao8gWeqlPk=","P3GI25pQEMPpsTat9A2DB6hY9nnzGTg3sXhDR1zw+M8=","vofkJmHhhpNFFvVa5o8bQ3Jgs6jcBJ1EavajnxpIMJE=","EWYnCECJv0SafYTC7+J7Xyf0/XQdTjqUNIT8+hBO4K0=","mkxfyh3vx7bcSlqWpqeM0dDGBluMXwIuGhO9b91r7kQ=","wa+GBBGYEcG2IjHwMEZ+XaPwenxIPiNdhg03+jve2AE=","b+riDtYoB/vSd+NhQTMSxzu4K38oIYzGugTGUV9BT4o=","MhEKDSN20jNRzVYiOH1KqKscs
 
ycWpqtIWUHTSR1BW/0=","UfqWnx1YuXWnR6tQB8LboYpg7AuaUmwROEn7wJBVDjM=","HU7296NTl8Wek0AyCPeTMXdik0fZbtCiBDPDqVeye0E=","Xo5tam8gxbsWohATkFEqn5hvHpPFwBJ0SDjNE5DiI2A=","ZleKYeRKwUF3HP3HO0kxHMVeJgY3N/euGinVhlVWaq0=","fLAvE46NqCVV86EpB2pKkwJlFjjFk7ntX3lC+PiZuIo=","T4DqWD42hAtN+vX8jKCWqoC4meE4JekI9LxYGCcPy1M="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n891619162\nHNDps+Y1dPfxC24y65NMHyhhH8AsRJ9eavTYluKA0qE=\n\n—
 rekor.sigstore.dev 
wNI9ajBGAiEA+cSb4NsHP9NGziDOeheM8Bad1rciubnFMcFINY5oszkCIQChlhjlB+qQtG2nfPvI+TY5sVkT2iqeT42vnRrNPhzpUQ==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJkZTY1MTc0MjE2MDFlMzlhOWEzYmMzZTFiYzRjN2IyZjIzOTI5NzQyM2VlMDVlMjgyNTk4YzgzZWMwNjQ3NTA1In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FUUNJRXRnT0hlNXBLY3c2TTAyZVlSSDV2M25HMWdMSDhxZFVsVlRuRmhzK1kxNEFpQllpcFBoT3MxQW5RVHhyOXN2Q29zZWZtSjZXTExDanRQWmdkMWtnRzBubWc9PSIsInB1YmxpY0tleSI6eyJjb250ZW50
 
IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTjZWRU5EUVd4VFowRjNTVUpCWjBsVlJHaHZRWEphVEdVMll6TTRaa1JoYjNCMlN6aERVRGczTlVJMGQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDE2UVhwTlJFVjRUVVJCZWxkb1kwNU5hbGwzVFhwQmVrMUVSWGxOUkVGNlYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVUxT0VZMVQyWmlPVzV4TjBWelNFTTVOakZRWXk5WFNtSkRVVWhuTjNaNFVHWnZRWElLVldaVmRqTlJiek53U210NlkwaHFWbWR4Ulc5NGJGbDZSMDF1U1d3elNUZEdaR0pqWVZaUE5WVlRTM05IVjFSWFUyRlBRMEZZVFhkblowWjJUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZ0WlVsdUNrUTBOMHRsVVZaamJEWkNNRzR6ZVZWR1dtNHdRM05SZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBsbldVUldVakJTUVZGSUwwSkNaM2RHYjBWVlkwZEdhV0pIT1c1ak1rWnpVVWhDTldSSGFIWmlhVFYyWTIxamQwdFJXVXRMZDFsQ1FrRkhSQXAyZWtGQ1FWRlJZbUZJV
 
WpCalNFMDJUSGs1YUZreVRuWmtWelV3WTNrMWJtSXlPVzVpUjFWMVdUSTVkRTFEYzBkRGFYTkhRVkZSUW1jM09IZEJVV2RGQ2toUmQySmhTRkl3WTBoTk5reDVPV2haTWs1MlpGYzFNR041Tlc1aU1qbHVZa2RWZFZreU9YUk5TVWRNUW1kdmNrSm5SVVZCWkZvMVFXZFJRMEpJTUVVS1pYZENOVUZJWTBFelZEQjNZWE5pU0VWVVNtcEhValJqYlZkak0wRnhTa3RZY21wbFVFc3pMMmcwY0hsblF6aHdOMjgwUVVGQlIyTnpWRFl5VlhkQlFRcENRVTFCVTBSQ1IwRnBSVUYwYlVGVlJYcFZXSG8yYWtvNFVVSTBLMVprUVV3MldsTklZa1J2YzJ4S2JGaFhORVo2T0ZVMWFXbE5RMGxSUTFKeFQyWklDalJVTW13MloxaGxMM2w2TWpOa2VUTnFRVWg1WWxaTVRFVkhlbEJvZEdwb2VXTk1SRFZVUVV0Q1oyZHhhR3RxVDFCUlVVUkJkMDV1UVVSQ2EwRnFRWElLYzBkdldIUlhRbFZyZW5aT1ZIWmhabXR6Y2k5VE9VdEVZWEJXYnpJdlp6QktjVU5PVEdWRE1VSTFNMU40ZVdKYU9IZEhZVVF3UTJSU2RXTmlXR2QzUXdwTlJUUk1WbGRsT0V4RlRtZzROMUZwYWxwSk5VRjFkR05pUmpaVFZpOXhPR05hVlRSQmNIWk5MMFZITmpkUVJEUjVNME54T1cxdVptdFRWRzF4TUdGakNtRkJQVDBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6DADAgEAMIIE3wYJKoZIhvcNAQcCoIIE0DCCBMwCAQMxDTALBglghkgBZQMEAgEw
 
gcEGCyqGSIb3DQEJEAEEoIGxBIGuMIGrAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgvi6FRn1Y7syA2BQYQwQMeiDUB+DL5pes7mPI7WdBRiUCFH5MbrWq5urNF2XQvNpdozZVH9J5GA8yMDI2MDMwMzAxMTAwM1owAwIBAQIIGLZG56CphR+gMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoIICFDCCAhAwggGWoAMCAQICFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMDMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQwHhcNMjUwNDA4MDY1OTQzWhcNMzUwNDA2MDY1OTQzWjAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYTB2MBAGByqGSM49AgEGBSuBBAAiA2IABOK2tmfISjYoNk/ZBYwgE6Bht9I5MvlkL9wcy/pir4dUijUf1MLsLHzQoOLK8qGAHfBOorKL1QNzOGqDXZvUA4udGfJ0xMr6oHwz7UyMFyLX4lvwBX9Ve7sJG5AKI9McXKNqMGgwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSJ/XlDh8/QZUbDAkbHLHNbfbTrAzAfBgNVHSMEGDAWgBSY7AHvf7tR/9SVHm+KiJhTB4nOvzAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAKBggqhkjOPQQDAwNoADBlAjA7abFf+imjtKshf1DLF9mklFykBXaBk6bUBnNH7atXLLpRzxhunbJsjDXdyQfhtxECMQDmo7wXI6SZim+Db/tk2qI/FHOfm+ooehVwgiq2kqrqXtO86rMDHFyU3tXBMbx775cxggHaMIIB1gIBATBRMDkxF
 
TATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMwMzAxMTAwM1owLwYJKoZIhvcNAQkEMSIEIO+Yvw8NRuBPNFCci43mRe+yCz25yWCaTIc+x/wiuiCuMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMGAijQiYukXAs2IHeNMTctoahixAHWC4Pjmbd7F6wez2O+MUi/HvBHw4SofCAL3oTAIwdNjzO/9lbEjBtMKW0YSntWcPfT6sV9VVBzwel4nO9VqFuu4QrG7BkeMswVksJRCR"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"3mUXQhYB45qaO8PhvEx7LyOSl0I+4F4oJZjIPsBkdQU="},"signature":"MEQCIEtgOHe5pKcw6M02eYRH5v3nG1gLH8qdUlVTnFhs+Y14AiBYipPhOs1AnQTxr9svCosefmJ6WLLCjtPZgd1kgG0nmg=="}}
+{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIDKjCCAq+gAwIBAgIUV0KToSwWiNQ1zzTRU96/ej9VazswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODEyMjMzMzE0WhcNMjYwODEyMjM0MzE0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWNaaQwZbDXhzarWHsQudyDAKtbsU4+N4AkBOpk/NS3c83Gr+KLKdTdJOYXpefbV8LE9e6Zo/5ZEAvqDhPcVcp6OCAc4wggHKMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU0kND/vyFNxoiv2Qyuy8YyIsJRZ0wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wIgYDVR0RAQH/BBgwFoEUcGFibG9nc2FsQHB5dGhvbi5vcmcwKQYKKwYBBAGDvzABAQQbaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tMCsGCisGAQQBg78wAQgEHQwbaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tMFsGCisGAQQBg78wARgETQxLQ2hVeE1EYzBNekUyTmpNME16RTNOREE0TWpneE5Ua1NIMmgwZEhCek9pVXlSaVV5Um1GalkyOTFiblJ6TG1kdmIyZHNaUzVqYjIwMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGf+FKnuAAABAMARjBEAiAK7oN/NUQvvItl8dMwxzBFTZWPyKw1No05XSFha2wgawIgV
 
IeetdzhKzHfNH20VCpA1p3mkGze7rC0V9DNywdn2GcwCgYIKoZIzj0EAwMDaQAwZgIxANB/+gPZe9/NRw/f+XPuyEb3VDQHir5HyXqtNEy+tdRj8F8g2ha5FGMB7KAIudWd6gIxAJuzBUAXBbPvU8Ixm0VwQrldfbzA6WKi8IrAew9++0m+cXkxqkYkU2OuA20h8Ek6ag=="},"tlogEntries":[{"logIndex":"2442736215","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1786577594","inclusionPromise":{"signedEntryTimestamp":"MEQCIA4eVwyWwKxz6EqzfB+wFalbDZbFENCq7+OGVQKnikJJAiAMeFlsmbJf1ep6L6YOVH/zdUNpxt7hBKrzfOV3uahPAQ=="},"inclusionProof":{"logIndex":"2320831953","rootHash":"HwsHVV06fYsjvo9iSU6CD/Ejl/SBd0Rqbj/vKsFkW14=","treeSize":"2320832015","hashes":["tDvqYraAyWpLUuqvumyYfOnAxWMVWlkEH01pOeVP5cc=","gkooyM8dqwo7DbgFMds6sWCQ6jBIlWCCptvllrt5K6E=","g/yCOFOzeXOils3ZoJeK9fvSj9JHCM/ClSX7136YVYI=","KHGvA1ALvdF/95aK4/tUZR3GRtWFNbnV3+tkZDm1GfU=","SnE4WVPaYstdtEgLlKxZAaNXnmcvoNCl2weka+nKnMU=","Ur+VLHFyCoMHmATJwRByfpmxgarNZdKvWzxle3CXrj0=","RW97sZ1SD2UMkr6ORLflTT7fPRUNiiZGRXNahokD
 
dto=","9cTu3ym/PgzV8o0UfJeYqJ1gJM/OUaaz+9IJ2JQSiXk=","ItvLnXU5C8roUFzTN8XHqdfG+wELSs/Z4+lw7p/+1K0=","DSNGatGEXaYgc8COuDGpsS1u9nFNeu+EaB80RFp+tRI=","y/s2+f9Wt8g/PF81FLu9VC2bG064q8bQbwD2scqfOM4=","Qffk+/QbjfcfJnS2WBCA+JUtSyts2fQ1g5IBJvUBglk=","T2NKmdJrIJ9ijegazbOe6pbmJqCfVPNREh8sLBn3BQI=","idxH7nlAPWU7iZWZfcsn2a6elqdvieyLGf7kDho5F2s=","t0Kxuz4wgjA2WMJAiqRkioEg4N/1Q8fpaZ46tznUp/A=","7NLCBAvZaVsKvlXyy0JA5YCKHkOV6F47NTF7COo2eOA=","mYkFdqU5C9m3w88wTn9l6UpYo+PI93c232s+vBiBEpM=","ygTG08vB2EEmJQPXRvF5H06Tlac72AkODENK7PhCPkw=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev
 - 
1193050959916656506\n2320832015\nHwsHVV06fYsjvo9iSU6CD/Ejl/SBd0Rqbj/vKsFkW14=\n\n—
 rekor.sigstore.dev 
wNI9ajBGAiEAjUU9qqM6oiiM6irC2DFGH+aPhK/PC4K5r3lQv5RHl4sCIQD7UQO7/xwkqi0a+u72BrZDP3Udo+pegCGaHy725u6ZAQ==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiJhMGRhMWU3MjEz
 
MmU5NTAxNTRlY2EwZjZmNDdkNWRiODI4NDU0NzAwZGUyMGU1MTEzNjY3OTQwZDgxZTBkYjA0In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJRldPanNuT3hVTGp3MGRMSHFkazdMMU8wdWRFdHp5aDBWOVk0UEhJbTlqYUFpRUE2N3Npb2V2V3JselBMclBhRjVwaFd4Q3RvR09wbVZIckpTd0pqUmtxNmMwPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkxha05EUVhFclowRjNTVUpCWjBsVlZqQkxWRzlUZDFkcFRsRXhlbnBVVWxVNU5pOWxhamxXWVhwemQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDlFUlhsTmFrMTZUWHBGTUZkb1kwNU5hbGwzVDBSRmVVMXFUVEJOZWtVd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZYVG1GaFVYZGFZa1JZYUhwaGNsZEljMUYxWkhsRVFVdDBZbk5WTkN0T05FRnJRazhLY0dzdlRsTXpZemd6UjNJclMweExaRlJrU2s5WldIQmxabUpXT0V4Rk9XVTJXbTh2TlZwRlFYWnhSR2hRWTFaamNEWlBRMEZqTkhkblowaExUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFM
 
FJVWm5VVlV3YTA1RUNpOTJlVVpPZUc5cGRqSlJlWFY1T0ZsNVNYTktVbG93ZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBsbldVUldVakJTUVZGSUwwSkNaM2RHYjBWVlkwZEdhV0pIT1c1ak1rWnpVVWhDTldSSGFIWmlhVFYyWTIxamQwdFJXVXRMZDFsQ1FrRkhSQXAyZWtGQ1FWRlJZbUZJVWpCalNFMDJUSGs1YUZreVRuWmtWelV3WTNrMWJtSXlPVzVpUjFWMVdUSTVkRTFEYzBkRGFYTkhRVkZSUW1jM09IZEJVV2RGQ2toUmQySmhTRkl3WTBoTk5reDVPV2haTWs1MlpGYzFNR041Tlc1aU1qbHVZa2RWZFZreU9YUk5Sbk5IUTJselIwRlJVVUpuTnpoM1FWSm5SVlJSZUV3S1VUSm9WbVZGTVVWWmVrSk9aV3RWZVZSdGNFNU5SVEUyVWxST1QxSkZSVEJVVjNCdVpVVTFWV0V4VGtsTmJXZDNXa1ZvUTJWck9YQldXR3hUWVZaV05RcFZiVEZIWVd4cmVVOVVSbWxpYkVvMlZFY3hhMlJ0U1hsYVNFNWhWWHBXY1ZscVNYZE5TVWRLUW1kdmNrSm5SVVZCWkZvMVFXZFJRMEpJYzBWbFVVSXpDa0ZJVlVFelZEQjNZWE5pU0VWVVNtcEhValJqYlZkak0wRnhTa3RZY21wbFVFc3pMMmcwY0hsblF6aHdOMjgwUVVGQlIyWXJSa3R1ZFVGQlFVSkJUVUVLVW1wQ1JVRnBRVXMzYjA0dlRsVlJkblpKZEd3NFpFMTNlSHBDUmxSYVYxQjVTM2N4VG04d05WaFRSbWhoTW5kbllYZEpaMVpKWldWMFpIcG9TM3BJWmdwT1NESXdWa053UVRGd00yMXJSM3BsTjNKRE1GWTVSRTU1ZDJSdU1rZG
 
pkME5uV1VsTGIxcEplbW93UlVGM1RVUmhVVUYzV21kSmVFRk9RaThyWjFCYUNtVTVMMDVTZHk5bUsxaFFkWGxGWWpOV1JGRklhWEkxU0hsWWNYUk9SWGtyZEdSU2FqaEdPR2N5YUdFMVJrZE5RamRMUVVsMVpGZGtObWRKZUVGS2RYb0tRbFZCV0VKaVVIWlZPRWw0YlRCV2QxRnliR1JtWW5wQk5sZExhVGhKY2tGbGR6a3JLekJ0SzJOWWEzaHhhMWxyVlRKUGRVRXlNR2c0UldzMllXYzlQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In19fX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6jADAgEAMIIE4QYJKoZIhvcNAQcCoIIE0jCCBM4CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgVu3w6svMUr1M/RZp8UwsM7wqH2So8xzl6Y94BmEBw8gCFQCMlEqHApzYDHRl9wHEP4pVVonywxgPMjAyNjA4MTIyMzMzMTRaMAMCAQECCEl4FPD61bpcoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzd
 
G9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYIKoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2zCCAdcCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjA4MTIyMzMzMTRaMC8GCSqGSIb3DQEJBDEiBCBtEq9/hH5migTn6uX9bZme7cBXWglj60DGY4H2S4j2MTCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pDswOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZzBlAjEAlfQ3OmJZWUnilMcqIr
 
kbh5Xvy1ynVSgEA5Q5WN9W728fKwZ0NBSJQpA0E01KTKOBAjAXzf7H46GK6KHvsonnJkMVRLLI3M9nULoo9SBgrr5sOVuYlzMoYv9miFxvE+q3WPo="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"oNoechMulQFU7KD29H1duChFRwDeIOURNmeUDYHg2wQ="},"signature":"MEUCIFWOjsnOxULjw0dLHqdk7L1O0udEtzyh0V9Y4PHIm9jaAiEA67sioevWrlzPLrPaF5phWxCtoGOpmVHrJSwJjRkq6c0="}}

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.2gP17G/_old  2026-09-10 11:51:07.913937856 +0200
+++ /var/tmp/diff_new_pack.2gP17G/_new  2026-09-10 11:51:07.916937982 +0200
@@ -1,6 +1,6 @@
-mtime: 1788369190
-commit: 84508ff650174e330025fff2573dbe7197198f43a2563280be789cff0b1c6247
+mtime: 1788936080
+commit: 5ac7890be8a1b433c6e1437f48b318684ebe7821d015bcc5e050b25eec297bef
 url: https://src.opensuse.org/python-interpreters/python310
-revision: 84508ff650174e330025fff2573dbe7197198f43a2563280be789cff0b1c6247
+revision: 5ac7890be8a1b433c6e1437f48b318684ebe7821d015bcc5e050b25eec297bef
 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-09-09 08:41:20.000000000 +0200
@@ -0,0 +1,7 @@
+.osc
+*.obscpio
+*.osc
+_build.*
+.pbuild
+*.rej
+python310*-build/

Reply via email to