From owner-svn-ports-all@freebsd.org Fri Apr 15 18:30:43 2016 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D74C9AEE2E9; Fri, 15 Apr 2016 18:30:43 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 967A61BE6; Fri, 15 Apr 2016 18:30:43 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3FIUgn8034975; Fri, 15 Apr 2016 18:30:42 GMT (envelope-from marcus@FreeBSD.org) Received: (from marcus@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3FIUgh3034973; Fri, 15 Apr 2016 18:30:42 GMT (envelope-from marcus@FreeBSD.org) Message-Id: <201604151830.u3FIUgh3034973@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marcus set sender to marcus@FreeBSD.org using -f From: Joe Marcus Clarke Date: Fri, 15 Apr 2016 18:30:42 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r413367 - in head/ports-mgmt/portlint: . src X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2016 18:30:43 -0000 Author: marcus Date: Fri Apr 15 18:30:42 2016 New Revision: 413367 URL: https://svnweb.freebsd.org/changeset/ports/413367 Log: Update to 2.17.0. * Drop the need for PORTSDIR in dependencies [1] * Allow a trailing ':' in URLs [2] * Check to make sure the value(s) of SUB_FILES is healthy [3] * Expand variables on all sides of the dependency tuple [4] (this last change is rather big, and thus bumping minor version) PR: 208272 [1] 207843 [2] 207477 [3] 206061 [4] Submitted by: amdmi3 [1] Modified: head/ports-mgmt/portlint/Makefile head/ports-mgmt/portlint/src/portlint.pl Modified: head/ports-mgmt/portlint/Makefile ============================================================================== --- head/ports-mgmt/portlint/Makefile Fri Apr 15 18:04:08 2016 (r413366) +++ head/ports-mgmt/portlint/Makefile Fri Apr 15 18:30:42 2016 (r413367) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= portlint -PORTVERSION= 2.16.8 +PORTVERSION= 2.17.0 CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none Modified: head/ports-mgmt/portlint/src/portlint.pl ============================================================================== --- head/ports-mgmt/portlint/src/portlint.pl Fri Apr 15 18:04:08 2016 (r413366) +++ head/ports-mgmt/portlint/src/portlint.pl Fri Apr 15 18:30:42 2016 (r413367) @@ -15,7 +15,7 @@ # was removed. # # $FreeBSD$ -# $MCom: portlint/portlint.pl,v 1.380 2015/12/19 21:08:11 jclarke Exp $ +# $MCom: portlint/portlint.pl,v 1.385 2016/04/15 18:20:46 jclarke Exp $ # use strict; @@ -49,8 +49,8 @@ $portdir = '.'; # version variables my $major = 2; -my $minor = 16; -my $micro = 8; +my $minor = 17; +my $micro = 0; # default setting - for FreeBSD my $portsdir = '/usr/ports'; @@ -159,7 +159,7 @@ my @varlist = qw( OPTIONS_GROUP OPTIONS_SUB INSTALLS_OMF USE_RC_SUBR USES DIST_SUBDIR ALLFILES CHECKSUM_ALGORITHMS INSTALLS_ICONS GNU_CONFIGURE CONFIGURE_ARGS MASTER_SITE_SUBDIR LICENSE LICENSE_COMB NO_STAGE - DEVELOPER + DEVELOPER SUB_FILES ); my %makevar; @@ -1071,6 +1071,27 @@ sub check_depends_syntax { $m{'dep'} = $l[0]; $m{'dir'} = $l[1]; $m{'tgt'} = $l[2] // ''; + my %depmvars = (); + foreach my $dv ($m{'dep'}, $m{'dir'}, $m{'tgt'}) { + foreach my $mv ($dv =~ /\$\{([^}]+)\}/g) { + my $mvar = $1; + if (defined($depmvars{$mvar})) { + next; + } + if (defined($makevar{$mvar})) { + $depmvars{$mvar} = $makevar{$mvar}; + } else { + $depmvars{$mvar} = &get_makevar($mvar); + } + } + } + + foreach my $dv ($m{'dep'}, $m{'dir'}, $m{'tgt'}) { + foreach my $dmv (keys %depmvars) { + $dv =~ s/\$\{$dmv\}/$depmvars{$dmv}/g; + } + } + print "OK: dep=\"$m{'dep'}\", ". "dir=\"$m{'dir'}\", tgt=\"$m{'tgt'}\"\n" if ($verbose); @@ -1169,9 +1190,7 @@ sub check_depends_syntax { } # Check port dir existence - $k = $m{'dir'}; - $k =~ s/\$\{PORTSDIR}/$ENV{'PORTSDIR'}/; - $k =~ s/\$[\({]PORTSDIR[\)}]/$ENV{'PORTSDIR'}/; + $k = $ENV{'PORTSDIR'}.'/'.$m{'dir'}; if (! -d $k) { &perror("WARN", $file, -1, "no port directory $k ". "found, even though it is ". @@ -3123,22 +3142,7 @@ TEST_DEPENDS FETCH_DEPENDS DEPENDS_TARGE "should be a corresponding file in the files/ directory."); } else { foreach my $i (split(/\s/, $subr_value)) { - my $mvar; - if ($i =~ /\$\{([^}]+)\}/) { - $mvar = $1; - if (defined($makevar{$mvar})) { - $i = $makevar{$mvar}; - } else { - $i = &getMakevar($mvar); - } - } - if ($i ne '' && ! -f "files/$i.in") { - &perror("FATAL", $file, -1, "$i listed in USE_RC_SUBR, ". - "but files/$i.in is missing."); - } elsif ($i eq '' && $mvar && $mvar ne '') { - &perror("WARN", $file, -1, "possible undefined make variable ". - "$mvar used as the value for USE_RC_SUBR."); - } elsif ($i ne '' && -f "files/$i.in") { + if ($i ne '' && -f "files/$i.in") { if (open(RCIN, "< files/$i.in")) { my @rccontents = ; my $found_provide = 0; @@ -3157,7 +3161,33 @@ TEST_DEPENDS FETCH_DEPENDS DEPENDS_TARGE close(RCIN); } } + } + } + } + + # check for health of SUB_FILES + if ($tmp =~ /\nSUB_FILES=([\s]*)(.*)/) { + my $subr_value = $makevar{SUB_FILES}; + if ($subr_value eq '') { + $subr_value = $2; + } + foreach my $i (split(/\s/, $subr_value)) { + my $mvar; + if ($i =~ /\$\{([^}]+)\}/) { + $mvar = $1; + if (defined($makevar{$mvar})) { + $i = $makevar{$mvar}; + } else { + $i = &get_makevar($mvar); + } + } + if ($i ne '' && ! -f "files/$i.in") { + &perror("FATAL", $file, -1, "$i listed in SUB_FILES/USE_RC_SUBR, ". + "but files/$i.in is missing."); + } elsif ($i eq '' && $mvar && $mvar ne '') { + &perror("WARN", $file, -1, "possible undefined make variable ". + "$mvar used as the value for SUB_FILES/USE_RC_SUBR."); } } } @@ -3445,7 +3475,7 @@ sub urlcheck { if ($url !~ m#^\w+://#) { &perror("WARN", $file, -1, "\"$url\" doesn't appear to be a URL to me."); } - if ($url !~ m#/(:[^/:]+)?$#) { + if ($url !~ m#/(:[^/:]+)?$# && $url !~ m#:$#) { &perror("FATAL", $file, -1, "URL \"$url\" should ". "end with \"/\" or a group name (e.g. :something)."); }