Re: [RFC] Proposal to relax warnings of htmldocs

From: Jonathan Corbet
Date: Tue Aug 15 2023 - 14:24:36 EST


Carlos Bilbao <carlos.bilbao@xxxxxxx> writes:

> Hello all,
>
> I would like to discuss a recurring issue that we all have encountered
> while running `make htmldocs`. The process often generates an overwhelming
> amount of warnings that are not relevant to our work, which makes it harder
> to identify and address actual warning messages related to our changes.
>
> One of the reasons for this is the variation in warnings raised by
> different compilers. For instance, the Linux kernel robot employs Sparse,
> which recently raised a warning that we (Avadhut in CC, and then me
> reviewing his patch) did not catch during our testing [1,2].
>
> Particularly annoying -to me personally- are warnings of the form:
>
> "warning: Function parameter or member 'field' not described in 'struct'"
>
> that seem to enumerate every single undocumented field within a struct.
>
> I would like to propose something to alleviate this issue before the list
> of warnings keeps piling up.

...other than fixing the actual problems? :)

> I suggest for the command `make htmldocs` to
> only display, by default, warnings directly related to the changes being
> made, unless explicitly requested otherwisee.
>
> I'm thinking we could do this, for example, by making hmtldocs a two-step
> process: First running htmldocs as usual but with warnings disabled, and
> then generating docs again but only for the new files (see $git diff
> --name-only HEAD), with warnings active but limited to the scope of the
> changes made.

A normal build should just generate warnings for files that have
changed (since the last build). Does that not do what you want?

Trying to get Sphinx to do smarter things with partial builds seems like
a path to frustration. Since the specific warnings you're talking about
are generated by kernel-doc, a better solution would probably just
invoke it directly. It wouldn't be that hard to bash out a script to
feed a given set of files to kernel-doc and see what it says.

As an alternative, of course, we could consider turning off those
specific warnings entirely for normal builds.

Thanks,

jon