[PATCH] docs: Fix Sphinx 8 warning caused by paths represented with strings

Claudio Cambra posted 1 patch 2 years, 4 months ago
Documentation/sphinx/kerneldoc.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] docs: Fix Sphinx 8 warning caused by paths represented with strings
Posted by Claudio Cambra 2 years, 4 months ago
Running "make htmldocs" generates several lines of this warning:

Documentation/sphinx/kerneldoc.py:141: RemovedInSphinx80Warning: Sphinx 8 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead.
  doc = (env.srcdir + "/" + env.docname + ":" + str(self.lineno))

Making "doc" an fspath type and creating a new variable with the
appended colon and lineno fixes this warning.

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
---
 Documentation/sphinx/kerneldoc.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py
index 9395892c7ba3..e2c835e10dba 100644
--- a/Documentation/sphinx/kerneldoc.py
+++ b/Documentation/sphinx/kerneldoc.py
@@ -138,7 +138,8 @@ class KernelDocDirective(Directive):
                     lineoffset = int(match.group(1)) - 1
                     # we must eat our comments since the upset the markup
                 else:
-                    doc = env.srcdir + "/" + env.docname + ":" + str(self.lineno)
+                    doc = os.path.join(env.srcdir, env.docname)
+                    doc_with_line = (doc + ":" + str(self.lineno))
                     result.append(line, doc + ": " + filename, lineoffset)
                     lineoffset += 1
 
-- 
2.42.0
Re: [PATCH] docs: Fix Sphinx 8 warning caused by paths represented with strings
Posted by Randy Dunlap 2 years, 4 months ago
Hi,

On 9/24/23 11:40, Claudio Cambra wrote:
> Running "make htmldocs" generates several lines of this warning:
> 
> Documentation/sphinx/kerneldoc.py:141: RemovedInSphinx80Warning: Sphinx 8 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead.
>   doc = (env.srcdir + "/" + env.docname + ":" + str(self.lineno))
> 
> Making "doc" an fspath type and creating a new variable with the
> appended colon and lineno fixes this warning.
> 
> Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
> ---
>  Documentation/sphinx/kerneldoc.py | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py
> index 9395892c7ba3..e2c835e10dba 100644
> --- a/Documentation/sphinx/kerneldoc.py
> +++ b/Documentation/sphinx/kerneldoc.py
> @@ -138,7 +138,8 @@ class KernelDocDirective(Directive):
>                      lineoffset = int(match.group(1)) - 1
>                      # we must eat our comments since the upset the markup
>                  else:
> -                    doc = env.srcdir + "/" + env.docname + ":" + str(self.lineno)
> +                    doc = os.path.join(env.srcdir, env.docname)
> +                    doc_with_line = (doc + ":" + str(self.lineno))
>                      result.append(line, doc + ": " + filename, lineoffset)
>                      lineoffset += 1
>  

This patch should be sent to the linux-doc@vger.kernel.org mailing list,
with the Documentation maintainer copied on the patch.

We also have this similar patch to consider:
  https://lore.kernel.org/linux-doc/20230910040811.53046-1-erer1243@gmail.com/

Thanks.
-- 
~Randy