linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Documentation/sphinx: Fix Directive import error
@ 2018-03-02 11:49 Takashi Iwai
  2018-03-02 14:50 ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2018-03-02 11:49 UTC (permalink / raw)
  To: Jonathan Corbet; +Cc: Jani Nikula, linux-doc, linux-kernel

The sphinx.util.compat Directive stuff was deprecated in the recent
Sphinx version, and now we get a build error.

Let's take a fallback to the newer one, from docutils.parsers.rst.

Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1083694
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---

I'm no expert of sphinx nor python, so something might be wrong.
Please check it.

--- a/Documentation/sphinx/kerneldoc.py
+++ b/Documentation/sphinx/kerneldoc.py
@@ -37,7 +37,10 @@ import glob
 from docutils import nodes, statemachine
 from docutils.statemachine import ViewList
 from docutils.parsers.rst import directives
-from sphinx.util.compat import Directive
+try:
+    from sphinx.util.compat import Directive
+except ImportError:
+    from docutils.parsers.rst import directives, Directive
 from sphinx.ext.autodoc import AutodocReporter
 
 __version__  = '1.0'

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Documentation/sphinx: Fix Directive import error
  2018-03-02 11:49 [PATCH] Documentation/sphinx: Fix Directive import error Takashi Iwai
@ 2018-03-02 14:50 ` Matthew Wilcox
  2018-03-02 14:55   ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Wilcox @ 2018-03-02 14:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Jonathan Corbet, Jani Nikula, linux-doc, linux-kernel

On Fri, Mar 02, 2018 at 12:49:03PM +0100, Takashi Iwai wrote:
> I'm no expert of sphinx nor python, so something might be wrong.
> Please check it.

I'm also not a pythonista, but ...

> --- a/Documentation/sphinx/kerneldoc.py
> +++ b/Documentation/sphinx/kerneldoc.py
> @@ -37,7 +37,10 @@ import glob
>  from docutils import nodes, statemachine
>  from docutils.statemachine import ViewList
>  from docutils.parsers.rst import directives
> -from sphinx.util.compat import Directive
> +try:
> +    from sphinx.util.compat import Directive
> +except ImportError:
> +    from docutils.parsers.rst import directives, Directive

It seems to me the previous line already imported
docutils.parsers.rst.directives, and we should probably prefer the newer
parser even with Sphinx 1.6, so I would think this would work better:

-from sphinx.util.compat import Directive
+try:
+    from docutils.parsers.rst import Directive
+except ImportError:
+    from sphinx.util.compat import Directive

(it works on Debian with Sphinx 1.6.7)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Documentation/sphinx: Fix Directive import error
  2018-03-02 14:50 ` Matthew Wilcox
@ 2018-03-02 14:55   ` Takashi Iwai
  2018-03-02 15:17     ` Jonathan Corbet
  0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2018-03-02 14:55 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Jonathan Corbet, Jani Nikula, linux-doc, linux-kernel

On Fri, 02 Mar 2018 15:50:55 +0100,
Matthew Wilcox wrote:
> 
> On Fri, Mar 02, 2018 at 12:49:03PM +0100, Takashi Iwai wrote:
> > I'm no expert of sphinx nor python, so something might be wrong.
> > Please check it.
> 
> I'm also not a pythonista, but ...
> 
> > --- a/Documentation/sphinx/kerneldoc.py
> > +++ b/Documentation/sphinx/kerneldoc.py
> > @@ -37,7 +37,10 @@ import glob
> >  from docutils import nodes, statemachine
> >  from docutils.statemachine import ViewList
> >  from docutils.parsers.rst import directives
> > -from sphinx.util.compat import Directive
> > +try:
> > +    from sphinx.util.compat import Directive
> > +except ImportError:
> > +    from docutils.parsers.rst import directives, Directive
> 
> It seems to me the previous line already imported
> docutils.parsers.rst.directives, and we should probably prefer the newer
> parser even with Sphinx 1.6, so I would think this would work better:
> 
> -from sphinx.util.compat import Directive
> +try:
> +    from docutils.parsers.rst import Directive
> +except ImportError:
> +    from sphinx.util.compat import Directive
> 
> (it works on Debian with Sphinx 1.6.7)

Makes more sense, yes.

Jon, would you like me resending the patch?  Or it's trivial enough as
you can fix in place.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Documentation/sphinx: Fix Directive import error
  2018-03-02 14:55   ` Takashi Iwai
@ 2018-03-02 15:17     ` Jonathan Corbet
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Corbet @ 2018-03-02 15:17 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Matthew Wilcox, Jani Nikula, linux-doc, linux-kernel

On Fri, 02 Mar 2018 15:55:06 +0100
Takashi Iwai <tiwai@suse.de> wrote:

> Jon, would you like me resending the patch?  Or it's trivial enough as
> you can fix in place.

If you can resend that would be great - one less thing for me to have to
squeeze in :)

Thanks,

jon

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-03-02 15:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-02 11:49 [PATCH] Documentation/sphinx: Fix Directive import error Takashi Iwai
2018-03-02 14:50 ` Matthew Wilcox
2018-03-02 14:55   ` Takashi Iwai
2018-03-02 15:17     ` Jonathan Corbet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).