Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python313 for openSUSE:Factory checked in at 2025-11-26 17:14:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python313 (Old) and /work/SRC/openSUSE:Factory/.python313.new.14147 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python313" Wed Nov 26 17:14:23 2025 rev:35 rq:1320015 version:3.13.9 Changes: -------- --- /work/SRC/openSUSE:Factory/python313/python313.changes 2025-11-20 14:46:00.783302627 +0100 +++ /work/SRC/openSUSE:Factory/.python313.new.14147/python313.changes 2025-11-26 17:14:44.368427068 +0100 @@ -1,0 +2,21 @@ +Wed Nov 19 19:21:41 UTC 2025 - Matej Cepl <[email protected]> + +- Add pass-test_write_read_limited_history.patch: + + Fix readline history truncation when length is reduced + + The `readline.set_history_length()` function did not previously + truncate the in-memory history when the new length was set to + a value smaller than the current number of history items. This + could lead to unexpected behavior where `get_history_length()` + would still report the old length and writing the history to a + file would write more entries than the new limit. + + This patch modifies `set_history_length()` to explicitly + remove the oldest history entries using `remove_history()` + when the length is decreased, ensuring the in-memory history + is correctly truncated to the new limit. This brings the + function's behavior in line with expectations and fixes + failures in `test_write_read_limited_history`. + +------------------------------------------------------------------- New: ---- pass-test_write_read_limited_history.patch ----------(New B)---------- New: - Add pass-test_write_read_limited_history.patch: ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python313.spec ++++++ --- /var/tmp/diff_new_pack.K7Z57s/_old 2025-11-26 17:14:45.856489803 +0100 +++ /var/tmp/diff_new_pack.K7Z57s/_new 2025-11-26 17:14:45.856489803 +0100 @@ -241,6 +241,9 @@ # PATCH-FIX-UPSTREAM CVE-2025-6075-expandvars-perf-degrad.patch bsc#1252974 [email protected] # Avoid potential quadratic complexity vulnerabilities in path modules Patch47: CVE-2025-6075-expandvars-perf-degrad.patch +# PATCH-FIX-UPSTREAM pass-test_write_read_limited_history.patch bsc#[0-9]+ [email protected] +# Fix readline history truncation when length is reduced +Patch48: pass-test_write_read_limited_history.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.K7Z57s/_old 2025-11-26 17:14:45.972494693 +0100 +++ /var/tmp/diff_new_pack.K7Z57s/_new 2025-11-26 17:14:45.976494862 +0100 @@ -1,6 +1,6 @@ -mtime: 1763243781 -commit: e3180f4ab341db64231dc488ed1816f4f455453a2606b9c51ea14b449e40c5df +mtime: 1763861551 +commit: b020ec1b9b71441baa91d41c16d7a5438484c55751fb2fbbc10a05be1c4e8dda url: https://src.opensuse.org/python-interpreters/python313.git -revision: e3180f4ab341db64231dc488ed1816f4f455453a2606b9c51ea14b449e40c5df +revision: b020ec1b9b71441baa91d41c16d7a5438484c55751fb2fbbc10a05be1c4e8dda projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj ++++++ bsc1243155-sphinx-non-determinism.patch ++++++ --- /var/tmp/diff_new_pack.K7Z57s/_old 2025-11-26 17:14:46.004496042 +0100 +++ /var/tmp/diff_new_pack.K7Z57s/_new 2025-11-26 17:14:46.008496211 +0100 @@ -14,10 +14,10 @@ Doc/tools/extensions/audit_events.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -Index: Python-3.13.6/Doc/tools/extensions/audit_events.py +Index: Python-3.13.5/Doc/tools/extensions/audit_events.py =================================================================== ---- Python-3.13.6.orig/Doc/tools/extensions/audit_events.py 2025-08-07 12:16:58.257103336 +0200 -+++ Python-3.13.6/Doc/tools/extensions/audit_events.py 2025-08-07 12:17:02.709401389 +0200 +--- Python-3.13.5.orig/Doc/tools/extensions/audit_events.py 2025-07-02 15:51:58.388560540 +0200 ++++ Python-3.13.5/Doc/tools/extensions/audit_events.py 2025-07-02 15:51:58.411254070 +0200 @@ -72,8 +72,13 @@ logger.warning(msg) return ++++++ 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 2025-11-24 02:30:45.000000000 +0100 @@ -0,0 +1,6 @@ +.osc +*.obscpio +*.osc +_build.* +.pbuild +python313-*-build/ ++++++ doc-py38-to-py36.patch ++++++ --- /var/tmp/diff_new_pack.K7Z57s/_old 2025-11-26 17:14:46.176503294 +0100 +++ /var/tmp/diff_new_pack.K7Z57s/_new 2025-11-26 17:14:46.180503462 +0100 @@ -7,7 +7,7 @@ Doc/library/doctest.rst | 1 Doc/library/email.compat32-message.rst | 1 Doc/library/xml.etree.elementtree.rst | 1 - Doc/Makefile | 2 + Doc/Makefile | 8 +-- Doc/c-api/arg.rst | 1 Doc/c-api/typeobj.rst | 8 +-- Doc/conf.py | 29 ++++++++++--- @@ -25,13 +25,13 @@ Doc/tools/extensions/misc_news.py | 14 ++---- Doc/tools/extensions/patchlevel.py | 9 ++-- Doc/tools/extensions/pydoc_topics.py | 22 +++++----- - 18 files changed, 156 insertions(+), 127 deletions(-) + 18 files changed, 159 insertions(+), 130 deletions(-) Index: Python-3.13.9/Doc/Makefile =================================================================== --- Python-3.13.9.orig/Doc/Makefile 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/Makefile 2025-11-15 22:56:09.080871289 +0100 -@@ -14,7 +14,7 @@ ++++ Python-3.13.9/Doc/Makefile 2025-11-20 01:09:35.814292408 +0100 +@@ -14,15 +14,15 @@ SOURCES = DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py) REQUIREMENTS = requirements.txt @@ -40,10 +40,21 @@ # Internal variables. PAPEROPT_a4 = --define latex_elements.papersize=a4paper + PAPEROPT_letter = --define latex_elements.papersize=letterpaper + +-ALLSPHINXOPTS = --builder $(BUILDER) \ +- --doctree-dir build/doctrees \ +- --jobs $(JOBS) \ ++ALLSPHINXOPTS = -b $(BUILDER) \ ++ -d build/doctrees \ ++ -j $(JOBS) \ + $(PAPEROPT_$(PAPER)) \ + $(SPHINXOPTS) $(SPHINXERRORHANDLING) \ + . build/$(BUILDER) $(SOURCES) Index: Python-3.13.9/Doc/c-api/arg.rst =================================================================== --- Python-3.13.9.orig/Doc/c-api/arg.rst 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/c-api/arg.rst 2025-11-15 22:55:47.005463838 +0100 ++++ Python-3.13.9/Doc/c-api/arg.rst 2025-11-20 01:07:59.902914275 +0100 @@ -334,7 +334,6 @@ should raise an exception and leave the content of *address* unmodified. @@ -55,7 +66,7 @@ Index: Python-3.13.9/Doc/c-api/typeobj.rst =================================================================== --- Python-3.13.9.orig/Doc/c-api/typeobj.rst 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/c-api/typeobj.rst 2025-11-15 22:55:47.006633833 +0100 ++++ Python-3.13.9/Doc/c-api/typeobj.rst 2025-11-20 01:07:59.903382829 +0100 @@ -610,7 +610,7 @@ Functions like :c:func:`PyObject_NewVar` will take the value of N as an argument, and store in the instance's :c:member:`~PyVarObject.ob_size` field. @@ -88,8 +99,8 @@ usually defined by the macro :c:macro:`PyObject_HEAD` or Index: Python-3.13.9/Doc/conf.py =================================================================== ---- Python-3.13.9.orig/Doc/conf.py 2025-11-15 22:55:39.285896375 +0100 -+++ Python-3.13.9/Doc/conf.py 2025-11-15 22:55:47.007347829 +0100 +--- Python-3.13.9.orig/Doc/conf.py 2025-11-20 01:07:14.944126757 +0100 ++++ Python-3.13.9/Doc/conf.py 2025-11-20 01:07:59.903974303 +0100 @@ -11,6 +11,8 @@ from importlib import import_module from importlib.util import find_spec @@ -116,7 +127,7 @@ ''' manpages_url = 'https://manpages.debian.org/{path}' -@@ -96,7 +98,7 @@ +@@ -92,7 +94,7 @@ # Minimum version of sphinx required # Keep this version in sync with ``Doc/requirements.txt``. @@ -144,7 +155,7 @@ html_context = { "is_deployment_preview": is_deployment_preview, "repository_url": repository_url or None, -@@ -542,6 +547,16 @@ +@@ -607,6 +612,16 @@ } extlinks_detect_hardcoded_links = True @@ -164,7 +175,7 @@ Index: Python-3.13.9/Doc/library/doctest.rst =================================================================== --- Python-3.13.9.orig/Doc/library/doctest.rst 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/library/doctest.rst 2025-11-15 22:55:47.008004484 +0100 ++++ Python-3.13.9/Doc/library/doctest.rst 2025-11-20 01:07:59.904511686 +0100 @@ -310,7 +310,6 @@ .. currentmodule:: None @@ -176,7 +187,7 @@ Index: Python-3.13.9/Doc/library/email.compat32-message.rst =================================================================== --- Python-3.13.9.orig/Doc/library/email.compat32-message.rst 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/library/email.compat32-message.rst 2025-11-15 22:55:47.008617977 +0100 ++++ Python-3.13.9/Doc/library/email.compat32-message.rst 2025-11-20 01:07:59.905009154 +0100 @@ -7,7 +7,6 @@ :synopsis: The base class representing email messages in a fashion backward compatible with Python 3.2 @@ -188,7 +199,7 @@ Index: Python-3.13.9/Doc/library/xml.etree.elementtree.rst =================================================================== --- Python-3.13.9.orig/Doc/library/xml.etree.elementtree.rst 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/library/xml.etree.elementtree.rst 2025-11-15 22:55:47.009206956 +0100 ++++ Python-3.13.9/Doc/library/xml.etree.elementtree.rst 2025-11-20 01:07:59.905273001 +0100 @@ -873,7 +873,6 @@ .. module:: xml.etree.ElementTree @@ -200,7 +211,7 @@ Index: Python-3.13.9/Doc/tools/check-warnings.py =================================================================== --- Python-3.13.9.orig/Doc/tools/check-warnings.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/check-warnings.py 2025-11-15 22:55:47.009862424 +0100 ++++ Python-3.13.9/Doc/tools/check-warnings.py 2025-11-20 01:07:59.905613002 +0100 @@ -228,7 +228,8 @@ print(filename) for warning in warnings: @@ -223,7 +234,7 @@ Index: Python-3.13.9/Doc/tools/extensions/audit_events.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/audit_events.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/audit_events.py 2025-11-15 22:56:01.019878076 +0100 ++++ Python-3.13.9/Doc/tools/extensions/audit_events.py 2025-11-20 01:08:35.819222654 +0100 @@ -1,9 +1,6 @@ """Support for documenting audit events.""" @@ -362,7 +373,7 @@ Index: Python-3.13.9/Doc/tools/extensions/availability.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/availability.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/availability.py 2025-11-15 22:55:47.010894411 +0100 ++++ Python-3.13.9/Doc/tools/extensions/availability.py 2025-11-20 01:07:59.906156697 +0100 @@ -1,8 +1,6 @@ """Support for documenting platform availability""" @@ -419,7 +430,7 @@ Index: Python-3.13.9/Doc/tools/extensions/c_annotations.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/c_annotations.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/c_annotations.py 2025-11-15 22:55:47.011416690 +0100 ++++ Python-3.13.9/Doc/tools/extensions/c_annotations.py 2025-11-20 01:07:59.906354780 +0100 @@ -9,22 +9,26 @@ * Set ``stable_abi_file`` to the path to stable ABI list. """ @@ -560,7 +571,7 @@ Index: Python-3.13.9/Doc/tools/extensions/changes.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/changes.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/changes.py 2025-11-15 22:55:47.011919693 +0100 ++++ Python-3.13.9/Doc/tools/extensions/changes.py 2025-11-20 01:07:59.906539198 +0100 @@ -1,7 +1,5 @@ """Support for documenting version of changes, additions, deprecations.""" @@ -599,7 +610,7 @@ Index: Python-3.13.9/Doc/tools/extensions/glossary_search.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/glossary_search.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/glossary_search.py 2025-11-15 22:55:47.012151010 +0100 ++++ Python-3.13.9/Doc/tools/extensions/glossary_search.py 2025-11-20 01:07:59.906696224 +0100 @@ -1,21 +1,27 @@ """Feature search results for glossary items prominently.""" @@ -646,7 +657,7 @@ Index: Python-3.13.9/Doc/tools/extensions/implementation_detail.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/implementation_detail.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/implementation_detail.py 2025-11-15 22:55:47.012356764 +0100 ++++ Python-3.13.9/Doc/tools/extensions/implementation_detail.py 2025-11-20 01:07:59.906853200 +0100 @@ -1,17 +1,10 @@ """Support for marking up implementation details.""" @@ -700,7 +711,7 @@ Index: Python-3.13.9/Doc/tools/extensions/issue_role.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/issue_role.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/issue_role.py 2025-11-15 22:55:47.012694591 +0100 ++++ Python-3.13.9/Doc/tools/extensions/issue_role.py 2025-11-20 01:07:59.907010386 +0100 @@ -1,22 +1,18 @@ """Support for referencing issues in the tracker.""" @@ -749,7 +760,7 @@ Index: Python-3.13.9/Doc/tools/extensions/misc_news.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/misc_news.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/misc_news.py 2025-11-15 22:55:47.013146888 +0100 ++++ Python-3.13.9/Doc/tools/extensions/misc_news.py 2025-11-20 01:07:59.907170899 +0100 @@ -1,7 +1,5 @@ """Support for including Misc/NEWS.""" @@ -805,7 +816,7 @@ Index: Python-3.13.9/Doc/tools/extensions/patchlevel.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/patchlevel.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/patchlevel.py 2025-11-15 22:55:47.013664697 +0100 ++++ Python-3.13.9/Doc/tools/extensions/patchlevel.py 2025-11-20 01:07:59.907494228 +0100 @@ -3,7 +3,7 @@ import re import sys @@ -846,7 +857,7 @@ Index: Python-3.13.9/Doc/tools/extensions/pydoc_topics.py =================================================================== --- Python-3.13.9.orig/Doc/tools/extensions/pydoc_topics.py 2025-10-14 15:52:31.000000000 +0200 -+++ Python-3.13.9/Doc/tools/extensions/pydoc_topics.py 2025-11-15 22:55:47.014041565 +0100 ++++ Python-3.13.9/Doc/tools/extensions/pydoc_topics.py 2025-11-20 01:07:59.907684617 +0100 @@ -1,21 +1,23 @@ """Support for building "topic help" for pydoc.""" ++++++ pass-test_write_read_limited_history.patch ++++++ --- Modules/readline.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) Index: Python-3.13.9/Modules/readline.c =================================================================== --- Python-3.13.9.orig/Modules/readline.c 2025-10-14 15:52:31.000000000 +0200 +++ Python-3.13.9/Modules/readline.c 2025-11-20 00:46:45.594286346 +0100 @@ -175,6 +175,8 @@ return PyUnicode_DecodeLocale(s, "surrogateescape"); } +static int _py_get_history_length(void); +static void _py_free_history_entry(HIST_ENTRY *entry); /* Explicitly disable bracketed paste in the interactive interpreter, even if it's @@ -399,6 +401,27 @@ /*[clinic end generated code: output=e161a53e45987dc7 input=b8901bf16488b760]*/ { _history_length = length; + + if (length < 0) { + stifle_history(-1); + } + else { + int current_length = _py_get_history_length(); + if (length < current_length) { +#if defined(RL_READLINE_VERSION) && RL_READLINE_VERSION >= 0x0500 + HISTORY_STATE *state = history_get_history_state(); + if (state) { + int i; + for (i = 0; i < current_length - length; i++) { + _py_free_history_entry(remove_history(0)); + } + state->length = length; + free(state); + } +#endif + } + stifle_history(length); + } Py_RETURN_NONE; }
