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/
