Re: [PATCH v3] Documentation: Document each netlink family

From: Jonathan Corbet
Date: Tue Jan 30 2024 - 09:22:40 EST


Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> writes:

> On Tue, 21 Nov 2023, Breno Leitao <leitao@xxxxxxxxxx> wrote:
>> This is a simple script that parses the Netlink YAML spec files
>> (Documentation/netlink/specs/), and generates RST files to be rendered
>> in the Network -> Netlink Specification documentation page.
>
> First of all, my boilerplate complaint: All extra processing for Sphinx
> should really be done using Sphinx extensions instead of adding Makefile
> hacks. I don't think it's sustainable to keep adding this stuff. We
> chose Sphinx because it is extensible, and to avoid the Rube Goldberg
> machine that the previous documentation build system was.

So I feel like we've (me included) have kind of sent Breno around in
circles on this one. This *was* implemented as an extension once:

https://lore.kernel.org/netdev/20231103135622.250314-1-leitao@xxxxxxxxxx/

At that time it seemed too complex, and I thought that an external
script would lead to a simpler implementation overall. Perhaps I was
wrong.

I worry that a proliferation of extensions adds its own sort of
complexity and hazards - look at the things Vegard has fixed recently,
for example. Relatively few people can work in that environment, and
extensions can make our version-support troubles worse. So I'm not
fully sold on the idea that everything should be an extension,
especially if it can be expressed as a simple dependency and build step
in the makefile.

Some of the uglier makefile stuff we have is a different story...

Anyway, I apologize for my role in making this particular addition
harder than it needed to be. Perhaps, for the future, we should put
together and agree on a document (of all things) on how we think this
sort of functionality should be added.

Thanks,

jon