Date: Sun, 3 Apr 2011 19:25:34 -0400 (EDT) From: Sahil Tandon <sahil@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: marcus@FreeBSD.org Subject: ports/156164: [PATCH] ports-mgmt/portlint: modify regex that correlates WITH(OUT)_FOO with OPTIONS Message-ID: <20110403232534.8452A1713A@spartan.hamla.org> Resent-Message-ID: <201104032330.p33NUC2c060510@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 156164 >Category: ports >Synopsis: [PATCH] ports-mgmt/portlint: modify regex that correlates WITH(OUT)_FOO with OPTIONS >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 03 23:30:12 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Sahil Tandon >Release: FreeBSD 9.0-CURRENT i386 >Organization: >Environment: >Description: I ran into a problem while working on mail/postfix, whose Makefile contains: .if defined(WITH_DOVECOT) || defined(WITH_DOVECOT2) Nevertheless, portlint(1) complains: WARN: Makefile: DOVECOT2 is listed in OPTIONS, but neither WITH_DOVECOT2 nor WITHOUT_DOVECOT2 appears. The attached patch slightly modifies the regular expression used to check whether OPTIONS appear in WITH(OUT)_FOO. I hope this is not something that causes breakage in other sections of the script; but if it does, we still need another regex that gracefully handles multiple instances of WITH(OUT)_FOO on a single line. Someone with superior perl-fu will probably laugh heartily at my change and then improve it considerably. :-) Thanks for taking a look. >How-To-Repeat: >Fix: --- portlint.diff begins here --- Index: src/portlint.pl =================================================================== RCS file: /home/pcvs/ports/ports-mgmt/portlint/src/portlint.pl,v retrieving revision 1.121 diff -u -r1.121 portlint.pl --- src/portlint.pl 21 Mar 2011 01:00:11 -0000 1.121 +++ src/portlint.pl 3 Apr 2011 23:09:02 -0000 @@ -1541,7 +1541,7 @@ pos($whole) = 0; print "OK: checking OPTIONS.\n" if ($verbose); @oopt = ($makevar{OPTIONS} =~ /(\w+)\s+\".*?\"\s+\w+/sg); - while ($whole =~ /\n[^#\n]*?\(?\s*WITH(?:OUT)?_(\w+)\s*\)?/mg) { + while ($whole =~ /\(?\s*WITH(?:OUT)?_(\w+)\s*\)?/mg) { push @mopt, $1; my $lineno = &linenumber($`) + 1; &perror("FATAL", $file, $lineno, "option WITH(OUT)_$1 is used before ". --- portlint.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110403232534.8452A1713A>