Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-invoke for openSUSE:Factory checked in at 2025-11-12 21:41:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-invoke (Old) and /work/SRC/openSUSE:Factory/.python-invoke.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-invoke" Wed Nov 12 21:41:43 2025 rev:22 rq:1317156 version:2.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-invoke/python-invoke.changes 2025-08-22 17:47:05.318219207 +0200 +++ /work/SRC/openSUSE:Factory/.python-invoke.new.1980/python-invoke.changes 2025-11-12 21:42:32.953069915 +0100 @@ -1,0 +2,12 @@ +Tue Nov 11 14:04:44 UTC 2025 - John Paul Adrian Glaubitz <[email protected]> + +- Update to 2.2.1 + * [Bug] #1038: (fixed in #1040) Python 3.14 tweaked the behavior + of fcntl to raise SystemError on buffer overflows, which our + interpretation of termios.TIOCGWINSZ technically was (we care + only about the first two fields in what is technically a four- + field struct with half the fields unused). This has been fixed + by unpacking all 4 fields and then discarding the unused fields + during processing. + +------------------------------------------------------------------- Old: ---- invoke-2.2.0.tar.gz New: ---- invoke-2.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-invoke.spec ++++++ --- /var/tmp/diff_new_pack.jsUzll/_old 2025-11-12 21:42:33.533094278 +0100 +++ /var/tmp/diff_new_pack.jsUzll/_new 2025-11-12 21:42:33.537094446 +0100 @@ -31,7 +31,7 @@ %endif %{?sle15_python_module_pythons} Name: python-invoke%{psuffix} -Version: 2.2.0 +Version: 2.2.1 Release: 0 Summary: Pythonic Task Execution License: BSD-2-Clause ++++++ invoke-2.2.0.tar.gz -> invoke-2.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/PKG-INFO new/invoke-2.2.1/PKG-INFO --- old/invoke-2.2.0/PKG-INFO 2023-07-12 20:04:56.000000000 +0200 +++ new/invoke-2.2.1/PKG-INFO 2025-10-11 02:36:27.192919700 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: invoke -Version: 2.2.0 +Version: 2.2.1 Summary: Pythonic task execution Home-page: https://pyinvoke.org Author: Jeff Forcier @@ -11,7 +11,6 @@ Project-URL: Issues, https://github.com/pyinvoke/invoke/issues Project-URL: Changelog, https://www.pyinvoke.org/changelog.html Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke -Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Intended Audience :: Developers @@ -76,5 +75,3 @@ For a high level introduction, including example code, please see `our main project website <https://pyinvoke.org>`_; or for detailed API docs, see `the versioned API website <https://docs.pyinvoke.org>`_. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/invoke/_version.py new/invoke-2.2.1/invoke/_version.py --- old/invoke-2.2.0/invoke/_version.py 2023-07-12 20:04:56.000000000 +0200 +++ new/invoke-2.2.1/invoke/_version.py 2025-10-11 02:36:21.000000000 +0200 @@ -1,2 +1,2 @@ -__version_info__ = (2, 2, 0) +__version_info__ = (2, 2, 1) __version__ = ".".join(map(str, __version_info__)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/invoke/terminals.py new/invoke-2.2.1/invoke/terminals.py --- old/invoke-2.2.0/invoke/terminals.py 2023-05-23 17:52:36.000000000 +0200 +++ new/invoke-2.2.1/invoke/terminals.py 2025-10-11 01:36:29.000000000 +0200 @@ -87,9 +87,10 @@ # Sentinel values to be replaced w/ defaults by caller size = (None, None) # We want two short unsigned integers (rows, cols) - fmt = "HH" + # Note: TIOCGWINSZ struct contains 4 unsigned shorts, 2 unused + fmt = "HHHH" # Create an empty (zeroed) buffer for ioctl to map onto. Yay for C! - buf = struct.pack(fmt, 0, 0) + buf = struct.pack(fmt, 0, 0, 0, 0) # Call TIOCGWINSZ to get window size of stdout, returns our filled # buffer try: @@ -97,7 +98,7 @@ # Unpack buffer back into Python data types # NOTE: this unpack gives us rows x cols, but we return the # inverse. - rows, cols = struct.unpack(fmt, result) + rows, cols, *_ = struct.unpack(fmt, result) return (cols, rows) # Fallback to emptyish return value in various failure cases: # * sys.stdout being monkeypatched, such as in testing, and lacking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/invoke.egg-info/PKG-INFO new/invoke-2.2.1/invoke.egg-info/PKG-INFO --- old/invoke-2.2.0/invoke.egg-info/PKG-INFO 2023-07-12 20:04:56.000000000 +0200 +++ new/invoke-2.2.1/invoke.egg-info/PKG-INFO 2025-10-11 02:36:27.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: invoke -Version: 2.2.0 +Version: 2.2.1 Summary: Pythonic task execution Home-page: https://pyinvoke.org Author: Jeff Forcier @@ -11,7 +11,6 @@ Project-URL: Issues, https://github.com/pyinvoke/invoke/issues Project-URL: Changelog, https://www.pyinvoke.org/changelog.html Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke -Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Intended Audience :: Developers @@ -76,5 +75,3 @@ For a high level introduction, including example code, please see `our main project website <https://pyinvoke.org>`_; or for detailed API docs, see `the versioned API website <https://docs.pyinvoke.org>`_. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/invoke.egg-info/SOURCES.txt new/invoke-2.2.1/invoke.egg-info/SOURCES.txt --- old/invoke-2.2.0/invoke.egg-info/SOURCES.txt 2023-07-12 20:04:56.000000000 +0200 +++ new/invoke-2.2.1/invoke.egg-info/SOURCES.txt 2025-10-11 02:36:27.000000000 +0200 @@ -63,6 +63,7 @@ invoke/vendor/yaml/serializer.py invoke/vendor/yaml/tokens.py sites/shared_conf.py +sites/docs/.readthedocs.yaml sites/docs/conf.py sites/docs/getting-started.rst sites/docs/index.rst @@ -89,6 +90,7 @@ sites/docs/concepts/namespaces.rst sites/docs/concepts/testing.rst sites/docs/concepts/watchers.rst +sites/www/.readthedocs.yaml sites/www/changelog.rst sites/www/conf.py sites/www/contact.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/invoke.egg-info/entry_points.txt new/invoke-2.2.1/invoke.egg-info/entry_points.txt --- old/invoke-2.2.0/invoke.egg-info/entry_points.txt 2023-07-12 20:04:56.000000000 +0200 +++ new/invoke-2.2.1/invoke.egg-info/entry_points.txt 2025-10-11 02:36:27.000000000 +0200 @@ -1,4 +1,3 @@ [console_scripts] inv = invoke.main:program.run invoke = invoke.main:program.run - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/sites/docs/.readthedocs.yaml new/invoke-2.2.1/sites/docs/.readthedocs.yaml --- old/invoke-2.2.0/sites/docs/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/invoke-2.2.1/sites/docs/.readthedocs.yaml 2025-10-11 00:19:11.000000000 +0200 @@ -0,0 +1,13 @@ +version: 2 + +build: + os: "ubuntu-22.04" + tools: + python: "3.7" + +python: + install: + - requirements: dev-requirements.txt + +sphinx: + configuration: sites/docs/conf.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/sites/www/.readthedocs.yaml new/invoke-2.2.1/sites/www/.readthedocs.yaml --- old/invoke-2.2.0/sites/www/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/invoke-2.2.1/sites/www/.readthedocs.yaml 2025-10-11 00:19:11.000000000 +0200 @@ -0,0 +1,13 @@ +version: 2 + +build: + os: "ubuntu-22.04" + tools: + python: "3.7" + +python: + install: + - requirements: dev-requirements.txt + +sphinx: + configuration: sites/www/conf.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/invoke-2.2.0/sites/www/changelog.rst new/invoke-2.2.1/sites/www/changelog.rst --- old/invoke-2.2.0/sites/www/changelog.rst 2023-07-12 20:04:51.000000000 +0200 +++ new/invoke-2.2.1/sites/www/changelog.rst 2025-10-11 02:36:18.000000000 +0200 @@ -2,6 +2,17 @@ Changelog ========= +- :release:`2.2.1 <2025-10-10>` +- :release:`2.1.4 <2025-10-10>` +- :bug:`1038` (fixed in :issue:`1040`) Python 3.14 tweaked the behavior of + `fcntl` to raise `SystemError` on buffer overflows, which our interpretation + of `termios.TIOCGWINSZ` technically was (we care only about the first two + fields in what is technically a four-field struct with half the fields + unused). This has been fixed by unpacking all 4 fields and then discarding + the unused fields during processing. + + Thanks to ``@kasium`` for the original bug report and to ``@rathann`` and + ``@BradleyKirton`` for workshopping the patch into its final shape. - :release:`2.2.0 <2023-07-12>` - :feature:`-` Remove the somewhat inaccurate subclass requirement around `~invoke.config.Config`'s ``.clone(into=...)`` constructor call. It was
