Re: [PATCH v2] Documentation/sphinx: Fix Directive import error

From: Jani Nikula
Date: Fri Mar 02 2018 - 11:02:28 EST


On Fri, 02 Mar 2018, Takashi Iwai <tiwai@xxxxxxx> wrote:
> The sphinx.util.compat for Directive stuff was deprecated in the
> recent Sphinx version, and now we get a build error.
>
> Let's import from the new place, docutils.parsers.rst, while keeping
> the old sphinx.util.compat as fallback.
>
> Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1083694
> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
> ---
> v1->v2: Change the fallback order as Matthew suggested, the new one at first

So this crossed my mind as well... and then I thought it'll probably
succeed on older Sphinx, and the fallback is not needed. The question
is, are these equal? Can we just import from docutils.parsers.rst?

I'm sorry I don't have the time to find the answers to these questions
as well. :(

BR,
Jani.


>
> Documentation/sphinx/kerneldoc.py | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py
> index 39aa9e8697cc..34396976eb0a 100644
> --- 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 docutils.parsers.rst import directives, Directive
> +except ImportError:
> + from sphinx.util.compat import Directive
> from sphinx.ext.autodoc import AutodocReporter
>
> __version__ = '1.0'

--
Jani Nikula, Intel Open Source Technology Center