forked from pool/python-restructuredtext_lint
Compare commits
6 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 2032b3163d | |||
| bd6ea07b97 | |||
| d43fac1e86 | |||
| b6342cf64f | |||
| 84cfe22023 | |||
| 37a1cc28f7 |
@@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 30 10:44:36 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
|
||||
|
||||
- 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 <mcepl@cepl.eu>
|
||||
|
||||
- Add skip-failing-test-66.patch skipping failing test
|
||||
(gh#twolfson/restructuredtext-lint#66) fixing failing test
|
||||
test.test.TestRestructuredtextLintCLI.test_level_fail
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 13:07:42 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Convert to pip-based build and libalternatives
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 7 15:00:41 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-restructuredtext_lint
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2025 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
|
||||
@@ -16,7 +16,7 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%bcond_without libalternatives
|
||||
Name: python-restructuredtext_lint
|
||||
Version: 1.4.0
|
||||
Release: 0
|
||||
@@ -25,12 +25,20 @@ 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 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}
|
||||
BuildRequires: alts
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: alts
|
||||
Requires: python-docutils >= 0.11
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module docutils >= 0.11}
|
||||
@@ -45,36 +53,34 @@ your reST is invalid **after** uploading it. It is being developed
|
||||
in junction with a Sublime Text linter.
|
||||
|
||||
%prep
|
||||
%setup -q -n restructuredtext_lint-%{version}
|
||||
%autosetup -p1 -n restructuredtext_lint-%{version}
|
||||
|
||||
find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf
|
||||
|
||||
%build
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
%python_clone -a %{buildroot}%{_bindir}/rst-lint
|
||||
%python_clone -a %{buildroot}%{_bindir}/restructuredtext-lint
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
|
||||
$python -m unittest discover
|
||||
$python -m unittest discover -v
|
||||
}
|
||||
|
||||
%post
|
||||
%python_install_alternative rst-lint
|
||||
%python_install_alternative restructuredtext-lint
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative rst-lint
|
||||
%python_uninstall_alternative restructuredtext-lint
|
||||
%pre
|
||||
%python_libalternatives_reset_alternative rst-lint
|
||||
%python_libalternatives_reset_alternative restructuredtext-lint
|
||||
|
||||
%files %{python_files}
|
||||
%doc CHANGELOG.rst README.rst
|
||||
%license UNLICENSE
|
||||
%python_alternative %{_bindir}/restructuredtext-lint
|
||||
%python_alternative %{_bindir}/rst-lint
|
||||
%{python_sitelib}/*
|
||||
%{python_sitelib}/restructuredtext_lint
|
||||
%{python_sitelib}/restructuredtext_lint-%{version}*-info
|
||||
|
||||
%changelog
|
||||
|
||||
36
set-pub-at-inst.patch
Normal file
36
set-pub-at-inst.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
From feffa41fe2b0575754353913cd71df61e4eea0a6 Mon Sep 17 00:00:00 2001
|
||||
From: Dominic Davis-Foster <dominic@davis-foster.co.uk>
|
||||
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`
|
||||
34
skip-failing-test-66.patch
Normal file
34
skip-failing-test-66.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
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-10-30 11:37:31.488257443 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
import subprocess
|
||||
import sys
|
||||
import textwrap
|
||||
-from unittest import TestCase
|
||||
+from unittest import TestCase, skip
|
||||
|
||||
import restructuredtext_lint
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user