On 12/06/18 11:03, Tom de Vries wrote: > [ Fixed ENOPATCH ] > > On Tue, Jun 12, 2018 at 11:57:13AM +0200, Tom de Vries wrote: >> [ was: Re: [MAINTAINERS, committed] Remove redundant write-after-approval >> entries ] >> >> On Tue, Jun 12, 2018 at 10:26:31AM +0200, Martin Liška wrote: >>> Hi. >>> >>> Thanks for the script, it also found me in Write After Approval section. >>> Thus I'll install following patch. >>> >>> Tom what about installing the script into contrib? >> >> I've renamed the script to contrib/maintainers-verify.sh. >> >> Also I've added a regression test that runs it: >> ... >> Running src/gcc/testsuite/gcc.src/maintainers.exp ... >> PASS: maintainers-verify.sh >> ... >> >> When failing (by reverting your patch on MAINTAINERS), it shows in gcc.log: >> ... >> Running src/gcc/testsuite/gcc.src/maintainers.exp ... >> Redundant in write approval: Martin Liska >> FAIL: maintainers-verify.sh >> ... >> >> OK for trunk?
OK. R. >> >> Thanks, >> - Tom > > [contrib] Add contrib/maintainers-verify.sh > > --- > contrib/maintainers-verify.sh | 45 > +++++++++++++++++++++++++++++++++++ > gcc/testsuite/gcc.src/maintainers.exp | 35 +++++++++++++++++++++++++++ > 2 files changed, 80 insertions(+) > > diff --git a/contrib/maintainers-verify.sh b/contrib/maintainers-verify.sh > new file mode 100755 > index 00000000000..226c158fdaa > --- /dev/null > +++ b/contrib/maintainers-verify.sh > @@ -0,0 +1,45 @@ > +#!/bin/sh > + > +# Copyright (C) 2018 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. > + > +if [ "$1" != "" ]; then > + f="$1" > +else > + f=./MAINTAINERS > +fi > + > +grep @ $f \ > + | sed 's/[\t][\t]*/\t/g' \ > + | awk -F '\t' \ > + " > +{ > + if (NF == 2) { > + name=\$1 > + email=\$2 > + if (names[name] == 1) { > + printf \"Redundant in write approval: %s\n\", name > + } > + } else if (NF == 3 ) { > + name=\$2 > + email=\$3 > + names[name] = 1 > + } > +} > +" > diff --git a/gcc/testsuite/gcc.src/maintainers.exp > b/gcc/testsuite/gcc.src/maintainers.exp > new file mode 100644 > index 00000000000..89a062fb7ad > --- /dev/null > +++ b/gcc/testsuite/gcc.src/maintainers.exp > @@ -0,0 +1,35 @@ > +# Copyright (C) 2018 Free Software Foundation, Inc. > + > +# This program 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 of the License, or > +# (at your option) any later version. > +# > +# This program 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 COPYING3. If not see > +# <http://www.gnu.org/licenses/>. > + > +proc gcc_src_run_maintainers_verify_sh {} { > + set script maintainers-verify.sh > + > + global srcdir > + set rootdir $srcdir/../.. > + set contrib $rootdir/contrib > + > + set maintainers $rootdir/MAINTAINERS > + > + set verify_output [exec $contrib/$script $maintainers] > + if { "$verify_output" == "" } { > + pass "$script" > + } else { > + send_log "$verify_output\n" > + fail "$script" > + } > +} > + > +gcc_src_run_maintainers_verify_sh >