svn commit: r316453 - head/Tools/scripts

Philip M. Gollucci pgollucci at p6m7g8.com
Wed Apr 24 22:38:09 UTC 2013


pgollucci += committers too


On Wed, Apr 24, 2013 at 4:54 PM, Emanuel Haupt <ehaupt at freebsd.org> wrote:

> Author: ehaupt
> Date: Wed Apr 24 16:54:22 2013
> New Revision: 316453
> URL: http://svnweb.freebsd.org/changeset/ports/316453
>
> Log:
>   - Rework 'nice people' handling
>   - Properly handle non-default $MCom RCS strings
>
> Modified:
>   head/Tools/scripts/convert-makefile-header.pl
>
> Modified: head/Tools/scripts/convert-makefile-header.pl
>
> ==============================================================================
> --- head/Tools/scripts/convert-makefile-header.pl       Wed Apr 24
> 16:53:54 2013        (r316452)
> +++ head/Tools/scripts/convert-makefile-header.pl       Wed Apr 24
> 16:54:22 2013        (r316453)
> @@ -28,7 +28,51 @@ Usage: $bn [OPTION] PORT
>  _ENOUSAGE
>  }
>
> -my
> $nicepeople="((\\s|<|^)(araujo|az|avilla|bapt|bdrewery|beat|brooks|crees|eadler|flo|flz|garga|kuriyama|linimon|makc|rm|tabthorpe|wxs)\@
> freebsd.org|cvs-src\@yandex\.ru|makc\@issp\.ac\.ru|villa\.alberto@
> |pgollucci\@p6m7g8\.com|bsdkaffee@|baptiste\.daroussin\@gmail.com)";
> +# You may add yourself to the following list if you agree to waive on the
> +# "Created by" attribution
> +sub get_nice_people() {
> +       my $committers=[
> +               'araujo',
> +               'az',
> +               'avilla',
> +               'bapt',
> +               'bdrewery',
> +               'beat',
> +               'brooks',
> +               'crees',
> +               'ehaupt',
> +               'eadler',
> +               'flo',
> +               'flz',
> +               'garga',
> +               'kuriyama',
> +               'linimon',
> +               'makc',
> +               'rm',
> +               'tabthorpe',
> +               'wxs'
> +       ];
> +
> +       # append FreeBSD.org domain to the list of committers
> +       map ($_ .= '\@FreeBSD\.org', @$committers);
> +
> +       my $maintainers=[
> +               'cvs-src\@yandex\.ru',
> +               'makc\@issp\.ac\.ru',
> +               'villa\.alberto\@',
> +               'pgollucci\@p6m7g8\.com',
> +               'bsdkaffee\@',
> +               'baptiste\.daroussin\@gmail\.com'
> +       ];
> +
> +       # merge committer and maintainer addresses
> +       my @nice_people=(@$committers, @$maintainers);
> +
> +       # prepend regex
> +       map ($_ = '(\\s|<|^)' . $_, @nice_people);
> +
> +       return \@nice_people;
> +}
>
>  sub get_creator($) {
>         my $header=shift;
> @@ -43,20 +87,10 @@ sub get_creator($) {
>         return $creator;
>  }
>
> -sub get_mcom($) {
> -       my $header=shift;
> -       my $mcom;
> -       for my $line (@$header) {
> -               if ($line=~m'\$MCom:'i) {
> -                       return $line;
> -               }
> -       }
> -       return "";
> -}
> -
>  MAIN: {
>         # get options
>         my $opt={};
> +       my $nice_people=get_nice_people();
>         GetOptions($opt, 'help|h', 'rcsonly|r', 'createdby|c',
> 'nowrite|n');
>
>         if(defined($opt->{help})) {
> @@ -71,6 +105,7 @@ MAIN: {
>         for my $arg (@ARGV) {
>                 my @header;
>                 my @makefile;
> +               my @header_exception;
>                 my $in_header=1;
>                 if(-f "$arg/Makefile") {
>                         my $mf=$arg . "/Makefile";
> @@ -83,6 +118,11 @@ MAIN: {
>                                         $in_header=0;
>                                         push(@makefile, $line);
>                                 }
> +
> +                               # tolerate $MCom RCS tags
> +                               if($line=~m'\$MCom') {
> +                                       push(@header_exception, $line);
> +                               }
>                         }
>                         close(F);
>
> @@ -99,16 +139,24 @@ MAIN: {
>                                 print $outh "# \$FreeBSD\$\n";
>                         } elsif(defined($opt->{createdby}) ||
> !defined($opt->{rcsonly})) {
>                                 my $creator=get_creator(\@header);
> -                               my $mcom=get_mcom(\@header);
>                                 if(defined($creator)) {
> -                                       if ($creator!~m"$nicepeople"i) {
> -                                               print $outh "# Created by:
> $creator\n";
> +                                       my $is_nice=0;
> +                                       for my $c (@$nice_people) {
> +                                               if($creator=~m"${c}") {
> +                                                       $is_nice=1;
> +                                                       last;
> +                                               }
>                                         }
> +                                       print $outh "# Created by:
> $creator\n" if(!$is_nice);
>                                 } else {
>                                         print STDERR "$mf creator not
> found. Reverting to RCS string only.\n";
>                                 }
>                                 print $outh "# \$FreeBSD\$\n";
> -                               print $outh $mcom;
> +
> +                               # append header exceptions
> +                               for my $h (@header_exception) {
> +                                       print $outh $h . "\n";
> +                               }
>                         }
>
>                         for my $line (@makefile) {
>



-- 
---------------------------------------------------------------------------------------------
1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C
Philip M. Gollucci (pgollucci at p6m7g8.com) c: 703.336.9354
Member,                           Apache Software Foundation
Committer,                        FreeBSD Foundation
Consultant,                       P6M7G8 Inc.
Director Operations,      Ridecharge Inc.

Work like you don't need the money,
love like you'll never get hurt,
and dance like nobody's watching.


More information about the svn-ports-head mailing list