The script is capable of checking if MAINTAINER names are sorted
alphabetically. I used English locales and the scripts emits:

Are you fine with the suggested changes?

Cheers,
Martin

$ contrib/check-MAINTAINERS.py MAINTAINERS
Global Reviewers are fine!
Wrong order for Write After Approval:

  Mark G. Adams                                 <mark.g.ad...@sympatico.ca>
  Pedro Alves                                   <pal...@redhat.com>
  Raksit Ashok                                  <rak...@google.com>
  Matt Austern                                  <aust...@google.com>
  David Ayers                                   <ay...@fsfe.org>
  Prakhar Bahuguna                              <prakhar.bahug...@arm.com>
  Giovanni Bajo                                 <giovannib...@gcc.gnu.org>
  Simon Baldwin                                 <sim...@google.com>
  Scott Bambrough                                       <sco...@netwinder.org>
  Wolfgang Bangerth                             <bange...@dealii.org>
  Gergö Barany                                  <ge...@codesourcery.com>
  Charles Baylis                                        
<charles.bay...@linaro.org>
  Tejas Belagod                                 <tejas.bela...@arm.com>
  Matthew Beliveau                              <mbeli...@redhat.com>
  Serge Belyshev                                        
<belys...@depni.sinp.msu.ru>
  Jon Beniston                                  <j...@beniston.com>
  Andrew Bennett                                        
<andrew.benn...@imgtec.com>
  Andrew Benson                                 <abenso...@gmail.com>
  Daniel Berlin                                 <dber...@dberlin.org>
  Pat Bernardi                                  <berna...@adacore.com>
  Jan Beulich                                   <jbeul...@novell.com>
  Indu Bhagat                                   <indu.bha...@oracle.com>
  David Billinghurst                            
<david.billinghu...@riotinto.com>
  Tomas Bily                                    <tb...@suse.cz>
  Laurynas Biveinis                             <laurynas.bivei...@gmail.com>
  Eric Blake                                    <er...@gcc.gnu.org>
  Phil Blundell                                 <p...@futuretv.com>
  Hans Boehm                                    <hbo...@gcc.gnu.org>
  Lynn Boger                                    <labo...@linux.vnet.ibm.com>
  Ian Bolton                                    <ian.bol...@arm.com>
  Andrea Bona                                   <andrea.b...@st.com>
  Neil Booth                                    <n...@daikokuya.co.uk>
  Antoni Boucher                                        <boua...@zoho.com>
  Robert Bowdidge                                       <bowdi...@apple.com>
  Joel Brobecker                                        <brobec...@gnat.com>
  Dave Brolley                                  <brol...@redhat.com>
  Christian Bruel                                       <christian.br...@st.com>
  Kevin Buettner                                        <kev...@redhat.com>
  Andrew Burgess                                        <aburg...@redhat.com>
  Adam Butcher                                  <a...@jessamine.co.uk>
  Andrew Cagney                                 <cag...@gnu.org>
  Daniel Carrera                                        <dcarr...@gmail.com>
  Stephane Carrez                                       <stcar...@nerim.fr>
  Gabriel Charette                              <gch...@google.com>
  Chandra Chavva                                        <ccha...@redhat.com>
  Dehao Chen                                    <de...@google.com>
- Fabien Chêne                                  <fab...@gcc.gnu.org>
  Clément Chigot                                        
<clement.chi...@atos.net>
  Harshit Chopra                                        <hars...@google.com>
  Tamar Christina                                       
<tamar.christ...@arm.com>
  Eric Christopher                              <echri...@gmail.com>
+ Fabien Chêne                                  <fab...@gcc.gnu.org>
  Paul Clarke                                   <p...@us.ibm.com>
  William Cohen                                 <wco...@redhat.com>
  Michael Collison                              <michael.colli...@arm.com>
  Josh Conner                                   <joshcon...@google.com>
  R. Kelley Cook                                        <kc...@gcc.gnu.org>
  Alex Coplan                                   <alex.cop...@arm.com>
  Andrea Corallo                                        <andrea.cora...@arm.com>
  Christian Cornelssen                          <cc...@cs.tu-berlin.de>
  Ludovic Courtès                                       <l...@gnu.org>
  Lawrence Crowl                                        <cr...@google.com>
  Ian Dall                                      <i...@beware.dropbear.id.au>
  David Daney                                   <david.da...@caviumnetworks.com>
  Robin Dapp                                    <rd...@linux.ibm.com>
  Simon Dardis                                  <simon.dar...@gmail.com>
  Sudakshina Das                                        <sudi....@arm.com>
  Bud Davis                                     <jmda...@link.com>
  Chris Demetriou                                       <c...@google.com>
  Sameera Deshpande                             <sameera.deshpa...@linaro.org>
  Wilco Dijkstra                                        <wdijk...@arm.com>
  Benoit Dupont de Dinechin                     
<benoit.dupont-de-dinec...@st.com>
  Jason Eckhardt                                        <j...@rice.edu>
  Bernd Edlinger                                        
<bernd.edlin...@hotmail.de>
  Phil Edwards                                  <p...@gcc.gnu.org>
  Mark Eggleston                                        
<mark.eggles...@codethink.co.uk>
  Steve Ellcey                                  <sell...@caviumnetworks.com>
  Mohan Embar                                   <gnust...@thisiscool.com>
  Revital Eres                                  <e...@il.ibm.com>
  Marc Espie                                    <es...@cvs.openbsd.org>
  Ansgar Esztermann                             
<ans...@thphy.uni-duesseldorf.de>
  Doug Evans                                    <d...@google.com>
  Chris Fairles                                 <cfair...@gcc.gnu.org>
  Alessandro Fanfarillo                         <fanfarillo....@gmail.com>
  Changpeng Fang                                        <changpeng.f...@amd.com>
  David Faust                                   <david.fa...@oracle.com>
  Li Feng                                               <nemoking...@gmail.com>
  Thomas Fitzsimmons                            <fitz...@redhat.com>
  Alexander Fomin                                       
<afomin.mail...@gmail.com>
  Brian Ford                                    <f...@vss.fsi.com>
  John Freeman                                  <jfreema...@gmail.com>
+ Stefan Schulze Frielinghaus                   <stefa...@linux.ibm.com>
  Nathan Froyd                                  <froy...@gcc.gnu.org>
  Chao-ying Fu                                  <f...@mips.com>
  Gary Funck                                    <g...@intrepid.com>
  Pompapathi V Gadad                            <pompapathi.v.ga...@nsc.com>
  Eric Gallager                                 <eg...@gwmail.gwu.edu>
  Gopalasubramanian Ganesh                      
<ganesh.gopalasubraman...@amd.com>
  Kaveh Ghazi                                   <gh...@gcc.gnu.org>
  Doug Gilmore                                  <doug.gilm...@imgtec.com>
  Matthew Gingell                                       <ging...@gnat.com>
  Jan-Benedict Glaw                             <jbg...@lug-owl.de>
  Marc Glisse                                   <marc.gli...@inria.fr>
  Prachi Godbole                                        
<prachi.godb...@imgtec.com>
  Torbjorn Granlund                             <t...@swox.com>
  James Greenhalgh                              <james.greenha...@arm.com>
  Doug Gregor                                   <doug.gre...@gmail.com>
  Matthew Gretton-Dann                          <matthew.gretton-d...@arm.com>
  Yury Gribov                                   <tetra2...@gmail.com>
  Jon Grimm                                     <jgri...@us.ibm.com>
  Laurent Guerby                                        <laur...@guerby.net>
  Haochen Gui                                   <guih...@gcc.gnu.org>
  Jiufu Guo                                     <guoji...@linux.ibm.com>
  Xuepeng Guo                                   <terry.xp...@gmail.com>
  Wei Guozhi                                    <car...@google.com>
+ Naveen H.S                                    <nave...@marvell.com>
  Mostafa Hagog                                 <ha...@gcc.gnu.org>
  Andrew Haley                                  <a...@redhat.com>
  Frederik Harwath                              <frede...@codesourcery.com>
  Stuart Hastings                                       <stu...@apple.com>
  Michael Haubenwallner                         
<michael.haubenwall...@ssi-schaefer.com>
  Pat Haugen                                    <pthau...@us.ibm.com>
  Michael Hayes                                 <m.ha...@elec.canterbury.ac.nz>
  Alan Hayward                                  <alan.hayw...@arm.com>
  Li Jia He                                     <heli...@gcc.gnu.org>
+ Kris Van Hees                                 <kris.van.h...@oracle.com>
  Mark Heffernan                                        <meh...@google.com>
  George Helffrich                              <geo...@gcc.gnu.org>
  Daniel Hellstrom                              <dan...@gaisler.com>
  Fergus Henderson                              <f...@cs.mu.oz.au>
  Stuart Henderson                              <shend...@gcc.gnu.org>
  Marius Hillenbrand                            <mhil...@linux.ibm.com>
  Matthew Hiller                                        <hil...@redhat.com>
  Kazu Hirata                                   <k...@codesourcery.com>
  Manfred Hollstein                             <m...@suse.com>
  Cong Hou                                      <co...@google.com>
  Falk Hueffner                                 <f...@debian.org>
  Andrew John Hughes                            <gnu_and...@member.fsf.org>
- Dominique d'Humieres                          <domi...@lps.ens.fr>
  Andy Hutchinson                                       <hutchinsona...@aim.com>
  Joel Hutton                                   <joel.hut...@arm.com>
  Lewis Hyatt                                   <lhy...@gmail.com>
- Naveen H.S                                    <nave...@marvell.com>
  Roland Illig                                  <roland.il...@gmx.de>
  Meador Inge                                   <mead...@codesourcery.com>
  Bernardo Innocenti                            <ber...@develer.com>
  Mihail Ionescu                                        <mihail.ione...@arm.com>
  Vladislav Ivanishin                           <v...@ispras.ru>
  Alexander Ivchenko                            <aivch...@gmail.com>
  Balaji V. Iyer                                        <bvi...@gmail.com>
- Pekka Jääskeläinen                            
<pekka.jaaskelai...@parmance.com>
  Daniel Jacobowitz                             <d...@false.org>
  Andreas Jaeger                                        <a...@suse.de>
  Harsha Jagasia                                        <harsha.jaga...@amd.com>
  Fariborz Jahanian                             <fjahan...@apple.com>
  Qian Jianhua                                  <qia...@cn.fujitsu.com>
  Janis Johnson                                 <janis.marie.john...@gmail.com>
  Teresa Johnson                                        <tejohn...@google.com>
  Kean Johnston                                 <j...@sco.com>
  Phillip Jordan                                        
<phillip.m.jor...@gmail.com>
  Tim Josling                                   <t...@melbpc.org.au>
+ Pekka Jääskeläinen                            
<pekka.jaaskelai...@parmance.com>
  Victor Kaplansky                              <vict...@il.ibm.com>
  Geoffrey Keating                              <geo...@geoffk.org>
  Brendan Kehoe                                 <bren...@zen.org>
  Andi Kleen                                    <a...@firstfloor.org>
  Matthias Klose                                        <d...@debian.org>
  Jeff Knaggs                                   <jkna...@redhat.com>
  Michael Koch                                  <konque...@gmx.de>
  Nicolas Koenig                                        
<koeni...@student.ethz.ch>
  Boris Kolpackov                                       
<bo...@codesynthesis.com>
  Dave Korn                                     <dave.korn.cyg...@gmail.com>
  Julia Koval                                   <julia.ko...@intel.com>
  Matt Kraai                                    <kr...@ftbfs.org>
  Jan Kratochvil                                        
<jan.kratoch...@redhat.com>
  Matthias Kretz                                        <m.kr...@gsi.de>
  Louis Krupp                                   <louis.kr...@zoho.com>
  Prathamesh Kulkarni                           <prathamesh.kulka...@linaro.org>
  Venkataramanan Kumar                          <venkataramanan.ku...@amd.com>
  Doug Kwan                                     <dougk...@google.com>
+ Aaron W. LaFramboise                          <aaronava...@aaronwl.com>
  Scott Robert Ladd                             <scott.l...@coyotegulch.com>
  Razya Ladelsky                                        <ra...@gcc.gnu.org>
  Thierry Lafage                                        
<thierry.laf...@inria.fr>
  Rask Ingemann Lambertsen                      <ccc94...@vip.cybercity.dk>
  Jerome Lambourg                                       <lambo...@adacore.com>
- Aaron W. LaFramboise                          <aaronava...@aaronwl.com>
  Asher Langton                                 <langt...@llnl.gov>
  Chris Lattner                                 <sa...@nondot.org>
  Terry Laurenzo                                        <tlaure...@gmail.com>
  Alan Lawrence                                 <alan.lawre...@arm.com>
  Jozef Lawrynowicz                             <joze...@mittosystems.com>
  Georg-Johann Lay                              <a...@gjlay.de>
  Vlad Lazar                                    <vlad.la...@arm.com>
  Marc Lehmann                                  <p...@goof.com>
  James Lemke                                   <j...@lemke.org>
  Ilya Leoshkevich                              <i...@linux.ibm.com>
  Kriang Lerdsuwanakij                          <lerds...@users.sourceforge.net>
  Renlin Li                                     <renlin...@arm.com>
  Xinliang David Li                             <davi...@google.com>
  Kewen Lin                                     <li...@gcc.gnu.org>
  Chen Liqin                                    <liqin....@gmail.com>
  Jiangning Liu                                 <jiangning....@arm.com>
  Sa Liu                                                <sa...@de.ibm.com>
  Ralph Loader                                  <r...@ihug.co.nz>
  Sheldon Lobo                                  <sheldon.l...@oracle.com
  Gabor Loki                                    <l...@inf.u-szeged.hu>
- Manuel López-Ibáñez                           <m...@gcc.gnu.org>
  Carl Love                                     <c...@us.ibm.com>
- Martin v. Löwis                                       
<loe...@informatik.hu-berlin.de>
  H.J. Lu                                               <hjl.to...@gmail.com>
  Xiong Hu Luo                                  <luo...@linux.vnet.ibm.com>
  Bin Bin Lv                                    <s...@linux.ibm.com>
  Christophe Lyon                                       <christophe.l...@st.com>
+ Manuel López-Ibáñez                           <m...@gcc.gnu.org>
+ Martin v. Löwis                                       
<loe...@informatik.hu-berlin.de>
  Jun Ma                                                
<ju...@linux.alibaba.com>
  Luis Machado                                  <luis...@br.ibm.com>
  Ziga Mahkovec                                 <ziga.mahko...@klika.si>
  Matthew Malcomson                             <matthew.malcom...@arm.com>
  Mikhail Maltsev                                       <malts...@gmail.com>
  Stamatis Markianos-Wright                     <stam.markianos-wri...@arm.com>
  Patrick Marlier                                       
<patrick.marl...@gmail.com>
  Simon Martin                                  <simar...@users.sourceforge.net>
  Alejandro Martinez                            
<alejandro.martinezvice...@arm.com>
  Ranjit Mathew                                 <rmat...@hotmail.com>
  Paulo Matos                                   <pmatos@linki.tools>
  Michael Matz                                  <m...@suse.de>
  Greg McGary                                   <g...@gnu.org>
  Roland McGrath                                        <rol...@hack.frob.com>
  Bryce McKinlay                                        <mckin...@redhat.com>
  Adam Megacz                                   <a...@xwt.org>
  Bingfeng Mei                                  <b...@broadcom.com>
  Jim Meyering                                  <j...@meyering.net>
  Martin Michlmayr                              <t...@cyrius.com>
  Lee Millward                                  <lee.millw...@gmail.com>
  Dragan Mladjenovic                            <dragan.mladjeno...@syrmia.com>
  Alan Modra                                    <amo...@gmail.com>
  Catherine Moore                                       <c...@codesourcery.com>
  James A. Morrison                             <phyt...@gcc.gnu.org>
  Brooks Moses                                  <bmo...@google.com>
  Dirk Mueller                                  <dmuel...@suse.de>
  Phil Muldoon                                  <pmuld...@redhat.com>
  Gaius Mulley                                  <gaiusm...@gmail.com>
  Steven Munroe                                 <munroes...@gmail.com>
  Szabolcs Nagy                                 <szabolcs.n...@arm.com>
  Quentin Neill                                 <quentin.neill....@gmail.com>
  Adam Nemet                                    <adambne...@gmail.com>
  Thomas Neumann                                        
<tneum...@users.sourceforge.net>
  Dan Nicolaescu                                        <d...@ics.uci.edu>
  Kelvin Nilsen                                 <kelvin.nil...@gmail.com>
  James Norris
  Diego Novillo                                 <dnovi...@google.com>
  Dorit Nuzman                                  <do...@il.ibm.com>
  David O'Brien                                 <obr...@freebsd.org>
  Carlos O'Donell                                       <car...@redhat.com>
  Peter O'Gorman                                        
<po...@thewrittenword.com>
  Braden Obrzut                                 <ad...@maniacsvault.net>
  Andrea Ornstein                                       <andrea.ornst...@st.com>
  Maxim Ostapenko                                       
<m.ostape...@samsung.com>
  Patrick Palka                                 <ppa...@gcc.gnu.org>
  Srinath Parvathaneni                          <srinath.parvathan...@arm.com>
  Devang Patel                                  <dpa...@apple.com>
  Andris Pavenis                                        <andris.pave...@iki.fi>
  Fernando Pereira                              <prone...@gmail.com>
  Sebastian Perta                                       
<sebastian.pe...@renesas.com>
  Sebastian Peryt                                       
<sebastian.pe...@intel.com>
  Johannes Pfau                                 <johannesp...@gmail.com>
  Kaushik Phatak                                        
<kaushik.pha...@kpitcummins.com>
  Nicolas Pitre                                 <n...@cam.org>
  Michael Ploujnikov                            <michael.ploujni...@oracle.com>
  Paul Pluzhnikov                                       <ppluzhni...@google.com>
  Antoniu Pop                                   <antoniu....@gmail.com>
  Marc Poulhiès                                 <poulh...@adacore.com>
  Siddhesh Poyarekar                            <siddh...@gotplt.org>
  Vidya Praveen                                 <vidyaprav...@arm.com>
  Thomas Preud'homme                            <thomas.preudho...@celest.fr>
  Vladimir Prus                                 <vladi...@codesourcery.com>
  Hafiz Abid Qadeer                             <ab...@codesourcery.com>
  Yao Qi                                                <y...@codesourcery.com>
  Jerry Quinn                                   <jlqu...@optonline.net>
  Navid Rahimi                                  <navidrah...@microsoft.com>
  Easwaran Raman                                        <era...@google.com>
  Joe Ramsay                                    <joe.ram...@arm.com>
  Rolf Rasmussen                                        <rol...@gcc.gnu.org>
  Fritz Reese                                   <fritzore...@gmail.com>
  Volker Reichelt                                       
<v.reich...@netcologne.de>
  Bernhard Reutner-Fischer                      <rep.dot....@gmail.com>
  Tom Rix                                               <t...@redhat.com>
  Thomas Rodgers                                        <trodg...@redhat.com>
  Craig Rodrigues                                       <rodr...@gcc.gnu.org>
  Erven Rohou                                   <erven.ro...@inria.fr>
  Ira Rosen                                     <i...@il.ibm.com>
  Yvan Roux                                     <yvan.r...@linaro.org>
  Eugene Rozenfeld                              <ero...@microsoft.com>
  Silvius Rus                                   <r...@google.com>
  Matthew Sachs                                 <msa...@apple.com>
  Ankur Saini                                   <arse...@sourceware.org>
  Hariharan Sandanagobalane                     <hariharan....@gmail.com>
  Duncan Sands                                  <baldr...@gcc.gnu.org>
  Sujoy Saraswati                                       
<sujoy.sarasw...@hpe.com>
  Trevor Saunders                                       
<tbsaunde+...@tbsaunde.org>
  Aaron Sawdey                                  <acsaw...@linux.ibm.com>
  Roger Sayle                                   <ro...@eyesopen.com>
  Will Schmidt                                  <will_schm...@vnet.ibm.com>
- Stefan Schulze Frielinghaus                   <stefa...@linux.ibm.com>
  Tilo Schwarz                                  <t...@tilo-schwarz.de>
  Martin Sebor                                  <mse...@gcc.gnu.org>
  Svein Seldal                                  <sv...@dev.seldal.com>
  Senthil Kumar Selvaraj                                <saaa...@gcc.gnu.org>
  Thiemo Seufer                                 <t...@networkno.de>
  Bill Seurer                                   <seu...@linux.vnet.ibm.com>
  Tim Shen                                      <tims...@google.com>
  David Sherwood                                        <david.sherw...@arm.com>
  Sharad Singhai                                        <sing...@google.com>
  Johannes Singler                              <sing...@kit.edu>
  Franz Sirl                                    
<franz.sirl-ker...@lauterbach.com>
  Jan Sjodin                                    <jan.sjo...@amd.com>
  Trevor Smigiel                                        
<trevor_smig...@playstation.sony.com>
  Edward Smith-Rowland                          <3dw...@verizon.net>
  Anatoly Sokolov                                       <ae...@dol.ru>
  Michael Sokolov                                       
<msoko...@ivan.harhan.org>
  Jayant Sonar                                  <rsonar.jay...@gmail.com>
  Richard Stallman                              <r...@gnu.org>
  Basile Starynkevitch                          <bas...@starynkevitch.net>
  Jakub Staszak                                 <k...@et.pl>
  Graham Stott                                  <graham.st...@btinternet.com>
  Jeff Sturm                                    <jst...@gcc.gnu.org>
  YunQiang Su                                   <yunqiang...@cipunited.com>
  Robert Suchanek                                       <rsuch...@gmail.com>
  Andrew Sutton                                 <andrew.n.sut...@gmail.com>
  Gabriele Svelto                                       <gabriele.sve...@st.com>
  Toma Tabacu                                   <toma.tab...@gmail.com>
  Omar Tahir                                    <omar.ta...@arm.com>
  Sriraman Tallam                                       <tmsri...@google.com>
  Samuel Tardieu                                        <s...@rfc1149.net>
  Sam Tebbs                                     <samuel.te...@gmail.com>
  Dinar Temirbulatov                            <dtemirbula...@gmail.com>
  Kresten Krab Thorup                           <k...@gcc.gnu.org>
  Kai Tietz                                     <ktiet...@googlemail.com>
  Ilya Tocar                                    <toca...@gmail.com>
  Petter Tomner                                 <tom...@kth.se>
  Philipp Tomsich                                       
<philipp.toms...@vrull.eu>
  Daniel Towner                                 <d...@picochip.com>
  Konrad Trifunovic                             <konrad.trifuno...@inria.fr>
  Markus Trippelsdorf                           <mar...@trippelsdorf.de>
  Sergei Trofimovich                            <sly...@gcc.gnu.org>
  Igor Tsimbalist                                       
<igor.v.tsimbal...@intel.com>
  Martin Uecker                                 <uec...@gcc.gnu.org>
  David Ung                                     <dav...@mips.com>
  Neil Vachharajani                             <nvach...@gmail.com>
- Kris Van Hees                                 <kris.van.h...@oracle.com>
  Joost VandeVondele                            <joost.vandevond...@mat.ethz.ch>
  Andre Vehreschild                             <ve...@gmx.de>
  Alex Velenko                                  <alex.vele...@arm.com>
  Ilya Verbin                                   <iver...@gmail.com>
  Andre Vieira                                  <andre.simoesdiasvie...@arm.com>
  Rasmus Villemoes                              <r...@rasmusvillemoes.dk>
  Kugan Vivekanandarajah                                <kug...@linaro.org>
  Marcel Vollweiler                             <mar...@codesourcery.com>
  Ville Voutilainen                             <ville.voutilai...@gmail.com>
  Nenad Vukicevic                                       <ne...@intrepid.com>
  Feng Wang                                     <fengw...@nudt.edu.cn>
  Hongyu Wang                                   <hongyu.w...@intel.com>
  Jiong Wang                                    <jiong.w...@arm.com>
  Stephen M. Webb                                       
<stephen.w...@bregmasoft.com>
  John Wehle                                    <j...@feith.com>
  Florian Weimer                                        <fwei...@redhat.com>
  Zack Weinberg                                 <za...@panix.com>
  Mark Wielaard                                 <m...@gcc.gnu.org>
  Edmar Wienskoski                              <ed...@freescale.com>
  Ollie Wild                                    <a...@google.com>
  Kevin Williams                                        
<kevin.willi...@inria.fr>
  Przemyslaw Wirkus                             <przemyslaw.wir...@arm.com>
  Carlo Wood                                    <ca...@alinoe.com>
  Jackson Woodruff                              <jackson.woodr...@arm.com>
  Jonathan Wright                                       
<jonathan.wri...@arm.com>
  Ruoyao Xi                                     <xry...@mengyan1223.wang>
  Mingjie Xing                                  <mingjie.x...@gmail.com>
  Chenghua Xu                                   <paul.hua...@gmail.com>
  Canqun Yang                                   <can...@nudt.edu.cn>
  Fei Yang                                      <felix.y...@huawei.com>
  Jeffrey Yasskin                                       <jyass...@google.com>
  Joey Ye                                               <joey...@arm.com>
  Kwok Cheung Yeung                             <k...@codesourcery.com>
  Greta Yorsh                                   <greta.yo...@arm.com>
  David Yuste                                   <david.yu...@gmail.com>
  Adhemerval Zanella                            <azane...@linux.vnet.ibm.com>
  Dennis Zhang                                  <dennis.zh...@arm.com>
  Yufeng Zhang                                  <yufeng.zh...@arm.com>
  Qing Zhao                                     <qing.z...@oracle.com>
  Shujing Zhao                                  <pearly.z...@oracle.com>
  Jon Ziegler                                   <j...@apple.com>
  Roman Zippel                                  <zip...@linux-m68k.org>
  Josef Zlomek                                  <josef.zlo...@email.cz>
+ Dominique d'Humieres                          <domi...@lps.ens.fr>

Bug database only accounts are fine!
Contributing under the DCO are fine!



contrib/ChangeLog:

        * check-MAINTAINERS.py: New file.
---
 contrib/check-MAINTAINERS.py | 100 +++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)
 create mode 100755 contrib/check-MAINTAINERS.py

diff --git a/contrib/check-MAINTAINERS.py b/contrib/check-MAINTAINERS.py
new file mode 100755
index 00000000000..70aa375846b
--- /dev/null
+++ b/contrib/check-MAINTAINERS.py
@@ -0,0 +1,100 @@
+#!/usr/bin/env python3
+
+# Copyright (C) 2022 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING.  If not, write to
+# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that names in the file are sorted
+# alphabetically by surname.
+
+import locale
+import sys
+from difflib import ndiff
+from itertools import dropwhile, takewhile
+
+locale.setlocale(locale.LC_ALL, 'en_US.utf8')
+
+exit_code = 0
+
+if len(sys.argv) != 2:
+    print('Usage: ./check-MAINTAINERS.py path-to/MAINTAINERS')
+    sys.exit(1)
+
+
+def sort_by_surname(line):
+    parts = line.split('\t')
+    surname = parts[0].split()[-1]
+    return (surname, line)
+
+
+def has_tab(line):
+    return '\t' in line
+
+
+def is_empty(line):
+    return line
+
+
+def check_group(name, lines):
+    global exit_code
+
+    for line in lines:
+        if line.startswith(' '):
+            print(f'Line should not start with space: "{line}"')
+            exit_code = 2
+
+    lines = [line + '\n' for line in lines]
+    sorted_lines = sorted(lines, key=sort_by_surname)
+    if lines != sorted_lines:
+        exit_code = 1
+        diff = ndiff(lines, sorted_lines)
+        print(f'Wrong order for {name}:\n')
+        print(''.join(diff))
+    else:
+        print(f'{name} are fine!')
+
+
+lines = open('MAINTAINERS').read().splitlines()
+
+needle = 'Global Reviewers'
+lines = list(dropwhile(lambda x: x.strip() != needle, lines))
+lines = lines[2:]
+
+chunk = list(takewhile(is_empty, lines))
+check_group(needle, chunk)
+
+needle = 'Write After Approval'
+lines = list(dropwhile(lambda x: needle not in x, lines))
+lines = lines[2:]
+
+chunk = list(takewhile(is_empty, lines))
+check_group(needle, chunk)
+
+needle = 'Bug database only accounts'
+lines = list(dropwhile(lambda x: needle not in x, lines))
+lines = lines[2:]
+
+chunk = list(takewhile(is_empty, lines))
+check_group(needle, chunk)
+
+needle = 'Contributing under the DCO'
+lines = list(dropwhile(lambda x: needle not in x, lines))[1:]
+lines = list(dropwhile(lambda x: not has_tab(x), lines))
+check_group(needle, lines)
+
+sys.exit(exit_code)
--
2.34.1

Reply via email to