Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-sphinxcontrib-websupport for 
openSUSE:Factory checked in at 2026-04-25 21:35:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-websupport (Old)
 and      /work/SRC/openSUSE:Factory/.python-sphinxcontrib-websupport.new.11940 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sphinxcontrib-websupport"

Sat Apr 25 21:35:15 2026 rev:17 rq:1349039 version:2.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-sphinxcontrib-websupport/python-sphinxcontrib-websupport.changes
  2024-01-15 22:11:21.241560184 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-sphinxcontrib-websupport.new.11940/python-sphinxcontrib-websupport.changes
       2026-04-25 21:35:20.564820813 +0200
@@ -1,0 +2,11 @@
+Fri Apr 17 02:20:04 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 2.0.0:
+  * Adopt Ruff
+  * Tighten MyPy settings
+- Add patch fix-testsuite.patch:
+  * Fix issues from switching to ruff.
+- Add patch support-sphinx-9.patch:
+  * Support changes required by Sphinx 9.
+
+-------------------------------------------------------------------

Old:
----
  sphinxcontrib_websupport-1.2.7.tar.gz

New:
----
  fix-testsuite.patch
  sphinxcontrib_websupport-2.0.0.tar.gz
  support-sphinx-9.patch

----------(New B)----------
  New:  * Tighten MyPy settings
- Add patch fix-testsuite.patch:
  * Fix issues from switching to ruff.
  New:  * Fix issues from switching to ruff.
- Add patch support-sphinx-9.patch:
  * Support changes required by Sphinx 9.
----------(New E)----------

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

Other differences:
------------------
++++++ python-sphinxcontrib-websupport.spec ++++++
--- /var/tmp/diff_new_pack.oX0Bro/_old  2026-04-25 21:35:21.240848322 +0200
+++ /var/tmp/diff_new_pack.oX0Bro/_new  2026-04-25 21:35:21.244848484 +0200
@@ -1,7 +1,7 @@
 #
-# spec file
+# spec file for package python-sphinxcontrib-websupport
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -26,26 +26,28 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-sphinxcontrib-websupport%{psuffix}
-Version:        1.2.7
+Version:        2.0.0
 Release:        0
 Summary:        Sphinx API for Web Apps
 License:        BSD-2-Clause
 URL:            https://github.com/sphinx-doc/sphinxcontrib-websupport
 Source:         
https://files.pythonhosted.org/packages/source/s/sphinxcontrib-websupport/sphinxcontrib_websupport-%{version}.tar.gz
-BuildRequires:  %{python_module flit-core}
+# PATCH-FIX-UPSTREAM Based on gh#sphinx-doc/sphinxcontrib-websupport#78
+Patch0:         fix-testsuite.patch
+# PATCH-FIX-UPSTREAM gh#sphinx-doc/sphinxcontrib-websupport#91
+Patch1:         support-sphinx-9.patch
+BuildRequires:  %{python_module base >= 3.9}
+BuildRequires:  %{python_module flit-core >= 3.7}
 BuildRequires:  %{python_module pip}
-BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-Jinja2
-Requires:       python-docutils
+Requires:       python-Sphinx >= 5.0
+Requires:       python-sphinxcontrib-serializinghtml
 BuildArch:      noarch
 %if %{with test}
-BuildRequires:  %{python_module Jinja2}
 BuildRequires:  %{python_module SQLAlchemy}
-BuildRequires:  %{python_module Sphinx >= 5.0}
 BuildRequires:  %{python_module Whoosh}
-BuildRequires:  %{python_module docutils}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module sphinxcontrib-websupport >= %{version}}
 %endif
@@ -74,10 +76,10 @@
 
 %if !%{with test}
 %files %{python_files}
-%license LICENSE
-%doc CHANGES README.rst
+%license LICENCE.rst
+%doc CHANGES.rst README.rst
 %dir %{python_sitelib}/sphinxcontrib/
 %{python_sitelib}/sphinxcontrib/websupport
-%{python_sitelib}/sphinxcontrib_websupport-%{version}*-info
+%{python_sitelib}/sphinxcontrib_websupport-%{version}.dist-info
 %endif
 

++++++ fix-testsuite.patch ++++++
>From 81109160b7063cd2b1de6157d60e9b34e36104b7 Mon Sep 17 00:00:00 2001
From: Dmitry Shachnev <[email protected]>
Date: Sat, 24 Aug 2024 16:37:44 +0300
Subject: [PATCH 1/4] Revert addition of timezone that caused tests failures

---
 sphinxcontrib/websupport/storage/sqlalchemy_db.py     | 4 ++--
 sphinxcontrib/websupport/storage/sqlalchemystorage.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Index: 
sphinxcontrib_websupport-2.0.0/sphinxcontrib/websupport/storage/sqlalchemy_db.py
===================================================================
--- 
sphinxcontrib_websupport-2.0.0.orig/sphinxcontrib/websupport/storage/sqlalchemy_db.py
+++ 
sphinxcontrib_websupport-2.0.0/sphinxcontrib/websupport/storage/sqlalchemy_db.py
@@ -5,10 +5,11 @@ SQLAlchemy table and mapper definitions
 
 from __future__ import annotations
 
-from datetime import datetime, timezone
+from datetime import datetime
 
 from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String, 
Text
 from sqlalchemy.orm import aliased, declarative_base, relationship, 
sessionmaker
+from sqlalchemy.sql.expression import true
 
 Base = declarative_base()
 Session = sessionmaker()
@@ -51,7 +52,7 @@ class Node(Base):  # type: ignore[misc,v
 
         # Filter out all comments that are not moderated yet.
         if not moderator:
-            q = q.filter(Comment.displayed is True)
+            q = q.filter(Comment.displayed == true())
 
         # Retrieve all results. Results must be ordered by Comment.path
         # so that we can easily transform them from a flat list to a tree.
@@ -159,7 +160,7 @@ class Comment(Base):  # type: ignore[mis
         """Creates a serializable representation of the comment. This is
         converted to JSON, and used on the client side.
         """
-        delta = datetime.now(tz=timezone.utc) - self.time
+        delta = datetime.now() - self.time  # noqa: DTZ005
 
         time = {
             "year": self.time.year,
Index: 
sphinxcontrib_websupport-2.0.0/sphinxcontrib/websupport/storage/sqlalchemystorage.py
===================================================================
--- 
sphinxcontrib_websupport-2.0.0.orig/sphinxcontrib/websupport/storage/sqlalchemystorage.py
+++ 
sphinxcontrib_websupport-2.0.0/sphinxcontrib/websupport/storage/sqlalchemystorage.py
@@ -2,7 +2,7 @@
 
 from __future__ import annotations
 
-from datetime import datetime, timezone
+from datetime import datetime
 
 import sqlalchemy
 from sqlalchemy.orm import aliased
@@ -72,7 +72,7 @@ class SQLAlchemyStorage(StorageBackend):
                 raise CommentNotAllowedError(msg)
 
         comment = Comment(text, displayed, username, 0,
-                          time or datetime.now(tz=timezone.utc), proposal, 
proposal_diff)
+                          time or datetime.now(), proposal, proposal_diff)  # 
noqa: DTZ005
         session.add(comment)
         session.flush()
         # We have to flush the session before setting the path so the
Index: sphinxcontrib_websupport-2.0.0/pyproject.toml
===================================================================
--- sphinxcontrib_websupport-2.0.0.orig/pyproject.toml
+++ sphinxcontrib_websupport-2.0.0/pyproject.toml
@@ -116,9 +116,11 @@ enable_error_code = [
 
 [[tool.mypy.overrides]]
 module = [
+    "pytest",
     "sqlalchemy",
     "sqlalchemy.orm",
     "sqlalchemy.sql",
+    "sqlalchemy.sql.expression",
     "whoosh",
     "whoosh.analysis",
     "whoosh.fields",
Index: sphinxcontrib_websupport-2.0.0/tests/conftest.py
===================================================================
--- sphinxcontrib_websupport-2.0.0.orig/tests/conftest.py
+++ sphinxcontrib_websupport-2.0.0/tests/conftest.py
@@ -9,6 +9,6 @@ pytest_plugins = (
 )
 
 
[email protected](scope='session')
[email protected](scope='session')  # type: ignore[misc]
 def rootdir() -> Path:
     return Path(__file__).resolve().parent / 'roots'

++++++ sphinxcontrib_websupport-1.2.7.tar.gz -> 
sphinxcontrib_websupport-2.0.0.tar.gz ++++++
++++ 1745 lines of diff (skipped)

++++++ support-sphinx-9.patch ++++++
>From dae9bc4e3c67ccd6bec8df855a41fbbca0f479b4 Mon Sep 17 00:00:00 2001
From: Dmitry Shachnev <[email protected]>
Date: Sat, 31 Jan 2026 15:27:46 +0300
Subject: [PATCH] Support Sphinx 9

---
 sphinxcontrib/websupport/builder.py        | 12 +++++-------
 tests/roots/test-root/root/markup.txt      |  2 +-
 tests/roots/test-searchadapters/markup.txt |  4 ++--
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/sphinxcontrib/websupport/builder.py 
b/sphinxcontrib/websupport/builder.py
index a8a2bd7..c9dba86 100644
--- a/sphinxcontrib/websupport/builder.py
+++ b/sphinxcontrib/websupport/builder.py
@@ -9,7 +9,6 @@
 from os import path
 from typing import TYPE_CHECKING, Any
 
-from docutils.io import StringOutput
 from sphinx.jinja2glue import BuiltinTemplateLoader
 from sphinx.util.osutil import copyfile, ensuredir, os_path, relative_uri
 
@@ -80,7 +79,6 @@ def prepare_writing(self, docnames: Iterable[str]) -> None:
         self.globalcontext['no_search_suffix'] = True
 
     def write_doc(self, docname: str, doctree: nodes.document) -> None:
-        destination = StringOutput(encoding='utf-8')
         doctree.settings = self.docsettings
 
         self.secnumbers = self.env.toc_secnumbers.get(docname, {})
@@ -88,12 +86,12 @@ def write_doc(self, docname: str, doctree: nodes.document) 
-> None:
         self.imgpath = '/' + posixpath.join(self.virtual_staticdir, 
self.imagedir)
         self.dlpath = '/' + posixpath.join(self.virtual_staticdir, 
'_downloads')
         self.current_docname = docname
-        self.docwriter.write(doctree, destination)
-        self.docwriter.assemble_parts()
-        body = self.docwriter.parts['fragment']
-        metatags = self.docwriter.clean_meta
+        visitor = self.create_translator(doctree, self)
+        doctree.walkabout(visitor)
+        body = ''.join(visitor.fragment)
+        clean_meta = ''.join(visitor.meta[2:])
 
-        ctx = self.get_doc_context(docname, body, metatags)
+        ctx = self.get_doc_context(docname, body, clean_meta)
         self.handle_page(docname, ctx, event_arg=doctree)
 
     def write_doc_serialized(self, docname: str, doctree: nodes.document) -> 
None:
diff --git a/tests/roots/test-root/root/markup.txt 
b/tests/roots/test-root/root/markup.txt
index 714dabe..668e6bd 100644
--- a/tests/roots/test-root/root/markup.txt
+++ b/tests/roots/test-root/root/markup.txt
@@ -369,7 +369,7 @@ Index markup
    pair: entry; pair
    double: entry; double
    triple: index; entry; triple
-   keyword: with
+   pair: keyword; with
    see: from; to
    seealso: fromalso; toalso
 
diff --git a/tests/roots/test-searchadapters/markup.txt 
b/tests/roots/test-searchadapters/markup.txt
index 77f245a..e0fb6c2 100644
--- a/tests/roots/test-searchadapters/markup.txt
+++ b/tests/roots/test-searchadapters/markup.txt
@@ -377,7 +377,7 @@ Index markup
    pair: entry; pair
    double: entry; double
    triple: index; entry; triple
-   keyword: with
+   pair: keyword; with
    see: from; to
    seealso: fromalso; toalso
 
@@ -386,7 +386,7 @@ Invalid index markup...
 .. index::
    single:
    pair:
-   keyword:
+   pair: keyword;
 
 .. index::
    !Main, !Other

Reply via email to