From owner-svn-ports-head@FreeBSD.ORG Wed Apr 24 16:54:23 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 570609B7; Wed, 24 Apr 2013 16:54:23 +0000 (UTC) (envelope-from ehaupt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 49C4E1055; Wed, 24 Apr 2013 16:54:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3OGsN6K022707; Wed, 24 Apr 2013 16:54:23 GMT (envelope-from ehaupt@svn.freebsd.org) Received: (from ehaupt@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3OGsNNh022705; Wed, 24 Apr 2013 16:54:23 GMT (envelope-from ehaupt@svn.freebsd.org) Message-Id: <201304241654.r3OGsNNh022705@svn.freebsd.org> From: Emanuel Haupt Date: Wed, 24 Apr 2013 16:54:23 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r316453 - head/Tools/scripts X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Apr 2013 16:54:23 -0000 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) {