Re: [PATCH Y.A. RESEND] MAINTAINERS: fix alpha. ordering

From: Joe Perches
Date: Sun Jul 23 2017 - 16:05:38 EST


On Sun, 2017-07-23 at 12:49 -0700, Linus Torvalds wrote:
> Ok, so I already applied your alpha-ordering patch, but it just annoyed me that
>
> (a) the ordering wasn't complete
>
> (b) this wasn't scripted.
>
> However, the sane way of scripting it is clearly not to do it in C,
> which I'd be comfy with, because that would be insane.
>
> Instead, it should be done in perl. Except my perl-fu is so horribly
> horribly bad that I'm a bit ashamed to show the end result.
>
> Does anybody have actual real perl skills? Because somebody should
> double-check my appended script-from-hell.
>
> ANYWAY. One reason I did this was because *if* we want to split up the
> MAINTAINERS file, I absolutely refuse to do it by hand. It needs to be
> automated. I'm not going to apply a patch - I'm going to apply a
> *script*, and commit the end result along with the doc about what the
> script was (so that then I have an inevitable conflict due to this big
> re-org, I can resolve the conflict by re-running the script on the
> side that wasn't part of the re-org, rather than having to do nasty
> things).
>
> And this script could easily be extended to automate the scripting. So
> please, can somebody with perl-fu say that "yeah, that's the right
> perl model", or point me to what I did wrong?
>
> The end result looks ok. I can run
>
> perl parse-maintainers.pl < MAINTAINERS > outfile
>
> and the end result is actually a *properly* sorted MAINTAINERS file as
> far as I can tell.
>
> Comments?

That works OK except for this section
where there are 2 header lines

EDAC-XGENE
APPLIED MICRO (APM) X-GENE SOC EDAC
M:     Loc Ho <lho@xxxxxxx>
S:     Supported
F:     drivers/edac/xgene_edac.c
F:     Documentation/devicetree/bindings/edac/apm-xgene-edac.txt

If you take up the patch I sent for that
before you run the script, it should be OK.

https://patchwork.kernel.org/patch/9857337/

I'll send a get_maintainers patch that allows a few
different styles of MAINTAINERS files separately.

o A single top level MAINTAINERS file
o A MAINTAINERS directory with multiple section files
o MAINTAINERS files distributed around the kernel source tree