diff --git a/python-restructuredtext_lint.changes b/python-restructuredtext_lint.changes index 7d0ee85..ca31cb4 100644 --- a/python-restructuredtext_lint.changes +++ b/python-restructuredtext_lint.changes @@ -1,8 +1,14 @@ +------------------------------------------------------------------- +Thu Oct 30 10:44:36 UTC 2025 - Matej Cepl + +- Add set-pub-at-inst.patch making the package compatible with + docutils >= 0.22 (gh#twolfson/restructuredtext-lint!64). + ------------------------------------------------------------------- Thu Sep 25 22:41:04 UTC 2025 - Matej Cepl - Add skip-failing-test-66.patch skipping failing test - (gh#twolfson/restructuredtext-lint#66) skipping failing test + (gh#twolfson/restructuredtext-lint#66) fixing failing test test.test.TestRestructuredtextLintCLI.test_level_fail ------------------------------------------------------------------- diff --git a/python-restructuredtext_lint.spec b/python-restructuredtext_lint.spec index c9de4d8..82d1436 100644 --- a/python-restructuredtext_lint.spec +++ b/python-restructuredtext_lint.spec @@ -25,9 +25,12 @@ License: Unlicense Group: Development/Languages/Python URL: https://github.com/twolfson/restructuredtext-lint Source: https://files.pythonhosted.org/packages/source/r/restructuredtext_lint/restructuredtext_lint-%{version}.tar.gz -# PATCH-FIX-UPSTREAM skip-failing-test-66.patch gh#twolfson/restructuredtext-lint#66 mcepl@suse.com -# skip failing test -Patch0: skip-failing-test-66.patch +# PATCH-FIX-UPSTREAM set-pub-at-inst.patch gh#twolfson/restructuredtext-lint!64 mcepl@suse.com +# make the package compatible with docutils 0.22 +Patch0: set-pub-at-inst.patch +# PATCH-FIX-OPENSUSE skip-failing-test-66.patch gh#twolfson/restructuredtext-lint#66 mcepl@suse.com +# skip failing test (upstream has more complex solution) +Patch1: skip-failing-test-66.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} @@ -65,7 +68,7 @@ find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf %check %{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib} -$python -m unittest discover +$python -m unittest discover -v } %pre diff --git a/set-pub-at-inst.patch b/set-pub-at-inst.patch new file mode 100644 index 0000000..13e44ba --- /dev/null +++ b/set-pub-at-inst.patch @@ -0,0 +1,36 @@ +From feffa41fe2b0575754353913cd71df61e4eea0a6 Mon Sep 17 00:00:00 2001 +From: Dominic Davis-Foster +Date: Thu, 14 Aug 2025 13:29:50 +0100 +Subject: [PATCH] Set publusher components at instantiaion + +--- + restructuredtext_lint/lint.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +Index: restructuredtext_lint-1.4.0/restructuredtext_lint/lint.py +=================================================================== +--- restructuredtext_lint-1.4.0.orig/restructuredtext_lint/lint.py 2018-11-14 06:55:13.000000000 +0100 ++++ restructuredtext_lint-1.4.0/restructuredtext_lint/lint.py 2025-10-30 11:34:26.553577716 +0100 +@@ -1,6 +1,7 @@ + # Load in our dependencies + from __future__ import absolute_import + import io ++import docutils + from docutils import utils + from docutils.core import Publisher + from docutils.nodes import Element +@@ -18,8 +19,12 @@ + # Generate a new parser (copying `rst2html.py` flow) + # http://repo.or.cz/w/docutils.git/blob/422cede485668203abc01c76ca317578ff634b30:/docutils/tools/rst2html.py + # http://repo.or.cz/w/docutils.git/blob/422cede485668203abc01c76ca317578ff634b30:/docutils/docutils/core.py#l348 +- pub = Publisher(None, None, None, settings=None) +- pub.set_components('standalone', 'restructuredtext', 'pseudoxml') ++ # https://github.com/twolfson/restructuredtext-lint/pull/64 ++ if docutils.__version_info__[:2] < (0, 22): ++ pub = Publisher(None, None, None, settings=None) ++ pub.set_components('standalone', 'restructuredtext', 'pseudoxml') ++ else: ++ pub = Publisher('standalone', 'restructuredtext', 'pseudoxml', settings=None) + + # Configure publisher + # DEV: We cannot use `process_command_line` since it processes `sys.argv` which is for `rst-lint`, not `docutils` diff --git a/skip-failing-test-66.patch b/skip-failing-test-66.patch index 4962846..9aa83a9 100644 --- a/skip-failing-test-66.patch +++ b/skip-failing-test-66.patch @@ -1,11 +1,11 @@ --- - restructuredtext_lint/test/test.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + restructuredtext_lint/test/test.py | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) Index: restructuredtext_lint-1.4.0/restructuredtext_lint/test/test.py =================================================================== --- restructuredtext_lint-1.4.0.orig/restructuredtext_lint/test/test.py 2022-02-24 06:50:23.000000000 +0100 -+++ restructuredtext_lint-1.4.0/restructuredtext_lint/test/test.py 2025-09-26 00:37:48.395562465 +0200 ++++ restructuredtext_lint-1.4.0/restructuredtext_lint/test/test.py 2025-10-30 11:37:31.488257443 +0100 @@ -4,7 +4,7 @@ import subprocess import sys @@ -15,11 +15,20 @@ Index: restructuredtext_lint-1.4.0/restructuredtext_lint/test/test.py import restructuredtext_lint -@@ -196,6 +196,7 @@ - # There should be a least one invalid rst file: - self.assertIn('WARNING', output) - -+ @skip("Failing test, gh#twolfson/restructuredtext-lint#66") - def test_level_fail(self): - """Confirm low --level threshold fails file with warnings only""" +@@ -201,14 +201,13 @@ # This is the expected behaviour we are checking: + # $ rst-lint --level warning second_short_heading.rst ; echo "Return code $?" + # WARNING second_short_heading.rst:6 Title underline too short. +- # WARNING second_short_heading.rst:6 Title underline too short. + # Return code 2 + with self.assertRaises(subprocess.CalledProcessError) as e: + subprocess.check_output((sys.executable, rst_lint_path, '--level', 'warning', warning_rst), + universal_newlines=True) + output = str(e.exception.output) +- self.assertEqual(output.count('\n'), 2, output) +- self.assertEqual(output.count('WARNING'), 2, output) ++ self.assertEqual(output.count('\n'), 1, output) ++ self.assertEqual(output.count('WARNING'), 1, output) + # The expected 2 warnings should be treated as failing + self.assertEqual(e.exception.returncode, 2) +