[PATCH] docs: sphinx: handle removeal of utils.error_reporting in docutils 0.22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



docutils.utils.error_reporting wass removed in docutils v0.22, causing sphinx
extension (kernel_include) to fail with:

>   File "/usr/lib/python3.12/site-packages/sphinx/registry.py", line 544, in load_extension
>     raise ExtensionError(
> sphinx.errors.ExtensionError: Could not import extension kernel_include (exception: No module named 'docutils.utils.error_reporting')

add compatibility handling with try/except:
- SafeString → str
- ErrorString → docutils.io.error_string()

Signed-off-by: Z. Liu <zhixu.liu@xxxxxxxxx>
---
 Documentation/sphinx/kernel_feat.py         | 5 ++++-
 Documentation/sphinx/kernel_include.py      | 6 +++++-
 Documentation/sphinx/maintainers_include.py | 5 ++++-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/Documentation/sphinx/kernel_feat.py
b/Documentation/sphinx/kernel_feat.py
index e3a51867f27bd..95f852c0722e1 100644
--- a/Documentation/sphinx/kernel_feat.py
+++ b/Documentation/sphinx/kernel_feat.py
@@ -40,7 +40,10 @@ import sys
 from docutils import nodes, statemachine
 from docutils.statemachine import ViewList
 from docutils.parsers.rst import directives, Directive
-from docutils.utils.error_reporting import ErrorString
+try:
+    from docutils.utils.error_reporting import ErrorString
+except:
+    from docutils.io import error_string as ErrorString
 from sphinx.util.docutils import switch_source_input

 __version__  = '1.0'
diff --git a/Documentation/sphinx/kernel_include.py
b/Documentation/sphinx/kernel_include.py
index 1e566e87ebcdd..46a6389f22e47 100755
--- a/Documentation/sphinx/kernel_include.py
+++ b/Documentation/sphinx/kernel_include.py
@@ -35,7 +35,11 @@
 import os.path

 from docutils import io, nodes, statemachine
-from docutils.utils.error_reporting import SafeString, ErrorString
+try:
+    from docutils.utils.error_reporting import SafeString, ErrorString
+except:
+    SafeString = str
+    from docutils.io import error_string as ErrorString
 from docutils.parsers.rst import directives
 from docutils.parsers.rst.directives.body import CodeBlock, NumberLines
 from docutils.parsers.rst.directives.misc import Include
diff --git a/Documentation/sphinx/maintainers_include.py
b/Documentation/sphinx/maintainers_include.py
index d31cff8674367..fdf6c2d7c3e30 100755
--- a/Documentation/sphinx/maintainers_include.py
+++ b/Documentation/sphinx/maintainers_include.py
@@ -22,7 +22,10 @@ import re
 import os.path

 from docutils import statemachine
-from docutils.utils.error_reporting import ErrorString
+try:
+    from docutils.utils.error_reporting import ErrorString
+except:
+    from docutils.io import error_string as ErrorString
 from docutils.parsers.rst import Directive
 from docutils.parsers.rst.directives.misc import Include

--
2.49.1





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux