Re: [PATCH v4 12/14] MAINTAINERS: add maintainers for netlink_yml_parser.py

Mauro Carvalho Chehab
2025-06-14T18:56:16Z

Em Sat, 14 Jun 2025 10:37:00 -0700
Jakub Kicinski <kuba@kernel.org> escreveu:

> On Sat, 14 Jun 2025 17:32:35 +0200 Mauro Carvalho Chehab wrote:
> > > > @@ -27314,6 +27315,7 @@ M: Jakub Kicinski <kuba@kernel.org>
> > > > F: Documentation/netlink/
> > > > F: Documentation/userspace-api/netlink/intro-specs.rst
> > > > F: Documentation/userspace-api/netlink/specs.rst
> > > > +F: scripts/lib/netlink_yml_parser.py
> > > > F: tools/net/ynl/
> >
> > With regards to the location itself, as I said earlier, it is up to
> > Jon and you to decide.
> >
> > My preference is to have all Python libraries at the entire Kernel
> > inside scripts/lib (or at some other common location), no matter where
> > the caller Python command or in-kernel Sphinx extensions are located.
>
> I understand that from the PoV of ease of maintenance of the docs.
> Is it fair to say there is a trade off here between ease of maintenance
> for docs maintainers and encouraging people to integrate with kernel
> docs in novel ways?

Placing elsewhere won't make much difference from doc maintainers and
developers.

I'm more interested on having a single place where python libraries
could be placed. Eventually, some classes might be re-used in the future
by multiple scripts and subsystems, when it makes sense, just like we do
already with Kernel's kAPIs. This also helps when checking what is the
Python's minimal version that are required by the Kernel when updating
it at:

Documentation/process/changes.rst

And writing patches documenting it like:

d2b239099cf0 ("docs: changes: update Sphinx minimal version to 3.4.3")
5e25b972a22b ("docs: changes: update Python minimal version")

Properly setting the minimal Python version is important specially to
check if the minimal version set at changes.rst is compatible with
the Makefile build targets:

$ pip install --user vermin
...
$ vermin -v scripts/lib/
Detecting python files..
Analyzing 9 files using 24 processes..
!2, 3.6 /new_devel/v4l/docs/scripts/lib/abi/abi_parser.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/abi/abi_regex.py
~2, ~3 /new_devel/v4l/docs/scripts/lib/abi/helpers.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/abi/system_symbols.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/kdoc/kdoc_files.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/kdoc/kdoc_output.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/kdoc/kdoc_parser.py
2.3, 3.0 /new_devel/v4l/docs/scripts/lib/kdoc/kdoc_re.py
!2, 3.6 /new_devel/v4l/docs/scripts/lib/netlink_yml_parser.py

Tips:
- You're using potentially backported modules: argparse, typing
If so, try using the following for better results: --backport argparse --backport typing
- Since '# novm' or '# novermin' weren't used, a speedup can be achieved using: --no-parse-comments
(disable using: --no-tips)

Minimum required versions: 3.6
Incompatible versions: 2

Thanks,
Mauro