Re: [RFC] devtools: replace get-maintainer shell wrapper with Python script

Stephen Hemminger
2026-02-01T22:24:03Z

On Sun, 01 Feb 2026 21:16:52 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:

> 01/02/2026 20:01, Stephen Hemminger:
> > On Sun, 01 Feb 2026 14:51:01 +0100
> > Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > > 31/01/2026 21:48, Stephen Hemminger:
> > > > DPDK has been reusing the Linux kernel get_maintainer perl script
> > > > but that creates an unwanted dependency on kernel source.
> > > >
> > > > This new script replaces that with a standalone Python implementation
> > > > created in a few minutes with AI. The command line arguments are
> > > > a subset of the features that make sense in DPDK.
> > >
> > > Almost thousand lines for this new script.
> > > Are you sure that's something we want to maintain ourself?
> >
> > It really is less bad than the awk mess.
> > And the kernel often changes the rules.
> >
> > The bigger issue is that the python version is not detecting everything yet.
>
> Our wrapper is very simple.
> How much an issue is this dependency? What others think?

I started looking because of the patch suggestion to auto download
from kernel repo which seemed like an awkward way to solve the problem.

Of the two patches, get-maintainer and checkpatches my feelings are different for
each.

Get-maintainer is just a light wrapper, so probably ok to keep the original
shell script; but DPDK should consider adding other fields about support status
etc. The shell version is 34 line wrapper that calls 2655 line perl script.
There are some policy questions like does DPDK subsystem work like kernel
subsystem, but so far DPDK is fine. Evolution of the kernel version has
been slow; so developers are unlikely to get broken by having old or newer
version of kernel script.

Checkpatches has grown into a slow beast. With multiple awk calls and lots
of copy/paste repetition. The pure Python version is actually easier to read
and support. The shell part of checkpatches is 559 lines and the kernel
part is 7882; in total pretty big. The problem is that kernel version of checkpatches
changes often, and in fact the current DPDK shell script has ignores for
things that are no longer present or have changed. It is not uncommon for
CI to give different answers than running locally with current upstream.
Diverging for this script is overdue.

At this point, the patches are more a "what would it look like if"
to start the discussion.