From 033d6aec87a0cbfa485e597ac5f5aeac11a0da5e Mon Sep 17 00:00:00 2001 From: Joe Marcus Clarke Date: Fri, 5 Apr 2019 13:25:12 +0000 Subject: Update to 2.18.9. * Add check for sensible CMAKE settings to ports-mgmt/portlint [1] * Do not warn about absolute paths in *_OLD_CMD (when USES=shebangfix is set) [2] * If an option only has QMAKE_ON or QMAKE_OFF settings, it is flagged as no effect [3] * Check for options defined per ARCH to make sure we don't have a lot of false positives. [4] (Note: [1] was already in PORTREVISION 2). PR: 232948 [2] 237045 [3] 234888 [4] Submitted by: adridg [3] --- ports-mgmt/portlint/src/portlint.pl | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'ports-mgmt/portlint/src') diff --git a/ports-mgmt/portlint/src/portlint.pl b/ports-mgmt/portlint/src/portlint.pl index c5775fc68e88..e74fe5a341eb 100644 --- a/ports-mgmt/portlint/src/portlint.pl +++ b/ports-mgmt/portlint/src/portlint.pl @@ -15,7 +15,7 @@ # was removed. # # $FreeBSD$ -# $MCom: portlint/portlint.pl,v 1.488 2019/01/22 16:16:28 jclarke Exp $ +# $MCom: portlint/portlint.pl,v 1.494 2019/04/05 13:21:00 jclarke Exp $ # use strict; @@ -50,7 +50,7 @@ $portdir = '.'; # version variables my $major = 2; my $minor = 18; -my $micro = 8; +my $micro = 9; # default setting - for FreeBSD my $portsdir = '/usr/ports'; @@ -1631,6 +1631,12 @@ sub checkmakefile { } } + my @aropt = (); + + while ($whole =~ /^OPTIONS_DEFINE_[\d\w]+(.)=\s*(.+)$/mg) { + push @aropt, split(/\s+/, $2); + } + @opt = split(/\s+/, $makevar{OPTIONS_DEFINE}); pos($whole) = 0; while ($whole =~ /PORT_OPTIONS:M(\w+)/mg) { @@ -1675,6 +1681,8 @@ sub checkmakefile { PLIST_DIRS PLIST_DIRSTRY PLIST_FILES + QMAKE_OFF + QMAKE_ON USE USES VARS @@ -1730,7 +1738,7 @@ sub checkmakefile { } } - foreach my $i ((@opt, @aopt)) { + foreach my $i ((@opt, @aopt, @aropt)) { # skip global options next if ($i eq 'DOCS' or $i eq 'NLS' or $i eq 'EXAMPLES' or $i eq 'IPV6' or $i eq 'X11' or $i eq 'DEBUG'); if (!grep(/^$i$/, (@mopt, @popt))) { @@ -1749,7 +1757,7 @@ sub checkmakefile { } foreach my $i (@mopt) { - if (!grep(/^$i$/, @opt, @aopt)) { + if (!grep(/^$i$/, @opt, @aopt, @aropt)) { # skip global options next if ($i eq 'DOCS' or $i eq 'NLS' or $i eq 'EXAMPLES' or $i eq 'IPV6' or $i eq 'X11'); &perror("WARN", $file, -1, "$i appears in PORT_OPTIONS:M, ". @@ -1812,7 +1820,7 @@ sub checkmakefile { &perror("FATAL", $file, $lineno, "${o}CMAKE_$2 is set without USES+=cmake"); } } - + # # whole file: NO_CHECKSUM # @@ -2125,6 +2133,7 @@ xargs xmkmf && $curline !~ /^ONLY_FOR_ARCHS_REASON(_[\w\d]+)?(.)?=[^\n]+$i/m && $curline !~ /^NOT_FOR_ARCHS_REASON(_[\w\d]+)?(.)?=[^\n]+$i/m && $curline !~ /^SHEBANG_FILES(.)?=[^\n]+$i/m + && $curline !~ /^[\w\d]+_OLD_CMD(.)?=[^\n]+$i/m && $curline !~ /^[A-Z0-9_]+_DESC=[^\n]+$i/m && $curline !~ /#.*?$i/m && $curline !~ /^\s*#.+$/m -- cgit v1.2.3