Re: [PATCH 0/8] docs: Fixes for recent versions of Sphinx

From: Mauro Carvalho Chehab
Date: Thu May 23 2019 - 06:48:44 EST


Em Thu, 23 May 2019 11:39:44 +0200
Oleksandr Natalenko <oleksandr@xxxxxxxxxx> escreveu:

> Hi.
>
> On Wed, May 22, 2019 at 02:50:26PM -0600, Jonathan Corbet wrote:
> > The Sphinx folks deprecated some interfaces in the 2.0 release; one
> > immediate result of that is a bunch of warnings that show up when building
> > with 1.8. These two patches make those warnings go away, but at a cost:
> >
> > - It introduces a couple of Sphinx version checks, which are always
> > ugly, but the alternative would be to stop supporting versions
> > before 1.7. For now, I think we can carry that cruft.
> >
> > - The second patch causes the build to fail horribly on newer
> > Sphinx installations. The change to switch_source_input() seems
> > to make the parser much more finicky, increasing warnings and
> > eventually failing the build altogether. In particular, it will
> > scream about problems in .rst files that are not included in the
> > TOC tree at all.
> >
> > This version of the patch set fixes up the worst problems (the i915 error
> > in particular, which breaks the build hard). I've tested it with versions
> > 1.4, 1.8, and 2.0.
> >
> > Given that these problems are already breaking builds on some systems, I
> > think I may try to sell these changes to Linus for 5.2 still.
> >
> > Changes since v1:
> > - Fix up a couple of logging changes I somehow missed
> > - Don't save state when using switch_source_input()
> > - Fix a few build errors
> > - Add Mauro's sphinx-pre-install improvements
> >
> > Jonathan Corbet (7):
> > doc: Cope with Sphinx logging deprecations
> > doc: Cope with the deprecation of AutoReporter
> > docs: fix numaperf.rst and add it to the doc tree
> > lib/list_sort: fix kerneldoc build error
> > docs: fix multiple doc build warnings in enumeration.rst
> > docs/gpu: fix a documentation build break in i915.rst
> > docs: Fix conf.py for Sphinx 2.0
> >
> > Mauro Carvalho Chehab (1):
> > scripts/sphinx-pre-install: make it handle Sphinx versions
> >
> > Documentation/admin-guide/mm/index.rst | 1 +
> > Documentation/admin-guide/mm/numaperf.rst | 2 +-
> > Documentation/conf.py | 2 +-
> > .../firmware-guide/acpi/enumeration.rst | 2 +-
> > Documentation/gpu/i915.rst | 4 +-
> > Documentation/sphinx/kerneldoc.py | 44 +++++++---
> > Documentation/sphinx/kernellog.py | 28 +++++++
> > Documentation/sphinx/kfigure.py | 40 +++++----
> > lib/list_sort.c | 3 +-
> > scripts/sphinx-pre-install | 81 +++++++++++++++++--
> > 10 files changed, 166 insertions(+), 41 deletions(-)
> > create mode 100644 Documentation/sphinx/kernellog.py
> >
> > --
> > 2.21.0
> >
>
> Thanks for the efforts. I've run this on top of Linus' tree, and the
> only sphinx-related deprecation warning I've spotted is this one:
>
> /home/onatalen/work/src/linux/Documentation/sphinx/cdomain.py:51: RemovedInSphinx30Warning: app.override_domain() is deprecated. Use app.add_domain() with override option instead.
> app.override_domain(CDomain)
>
> Otherwise, it builds.
>

Just sent a fix. Could you please test?


https://lore.kernel.org/lkml/b38a9fdfdcda49b2c6118072afac564e96406800.1558608217.git.mchehab+samsung@xxxxxxxxxx/T/#u

Thanks,
Mauro