Re: [PATCH v2 0/2] docs: Programmatically render MAINTAINERS into ReST

From: Kees Cook
Date: Wed Oct 02 2019 - 12:57:29 EST


On Wed, Oct 02, 2019 at 10:25:35AM -0600, Jonathan Corbet wrote:
> On Tue, 1 Oct 2019 11:25:30 -0700
> Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> > v1: https://lore.kernel.org/lkml/20190924230208.12414-1-keescook@xxxxxxxxxxxx
> >
> > v2: fix python2 utf-8 issue thanks to Jonathan Corbet
> >
> >
> > Commit log from Patch 2 repeated here for cover letter:
> >
> > In order to have the MAINTAINERS file visible in the rendered ReST
> > output, this makes some small changes to the existing MAINTAINERS file
> > to allow for better machine processing, and adds a new Sphinx directive
> > "maintainers-include" to perform the rendering.
>
> OK, I've applied this. Some notes, none of which really require any
> action...
>
> It adds a new warning:
>
> /stuff/k/git/kernel/MAINTAINERS:40416: WARNING: unknown document: ../misc-devices/xilinx_sdfec
>
> I wonder if it's worth checking to be sure that documents referenced in
> MAINTAINERS actually exist. OTOH, things as they are generate a warning,
> which is what we want anyway.

Yup, I saw this when I was doing the work and already sent an email
last week about it but got no response:
https://lore.kernel.org/lkml/201909231450.4C6CF32@keescook/

I suppose I could literally just send the missing file instead?

> I did various experiments corrupting the MAINTAINERS file and got some
> fairly unphotogenic results. Again, though, I'm not sure that adding a
> bunch of code to generate warnings is really worth the trouble.
>
> The resulting HTML file is 3.4MB and definitely makes my browser sweat when
> loading it :)

Yes -- I think a big part of this is the amplification of the subsystem
links (they're in the navigation right-hand side too), but I think that
making them reachable externally was important so a maintainer can have
a stable URL to point to their MAINTAINTERS file entry.

> It adds about 20 seconds to a full "make htmldocs" build, which takes just
> over 3 minutes on the system in question. So a 10% overhead, essentially.

Yup, it's a lot to parse, but it *seems* to be caching it correctly.

> All told, it does what it's expected to do. Thanks for doing this.

Cool! Thanks for the help on it. :)

--
Kees Cook