ports/71468: [PATCH] devel/portlint: check OPTIONS
Yen-Ming Lee
leeym at FreeBSD.org
Tue Sep 7 16:30:43 UTC 2004
>Number: 71468
>Category: ports
>Synopsis: [PATCH] devel/portlint: check OPTIONS
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Sep 07 16:30:31 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Yen-Ming Lee
>Release: FreeBSD 5.3-BETA3 i386
>Organization:
FreeBSD Taiwan
>Environment:
System: FreeBSD utopia.leeym.com 5.3-BETA3 FreeBSD 5.3-BETA3 #1: Sun Sep 5 01:06:46 CST
>Description:
- check if all options listed in OPTIONS have related definitions.
- check if any WITH_* or WITHOUT_* defined but not listed in OPTIONS.
(disabled temporarily, since some ports still use ${SCRIPTDIR}/configure*)
Port maintainer (marcus at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:
--- portlint-2.6.7.patch begins here ---
Index: src/portlint.pl
===================================================================
RCS file: /home/pcvs/ports/devel/portlint/src/portlint.pl,v
retrieving revision 1.63
diff -u -u -r1.63 portlint.pl
--- src/portlint.pl 1 Sep 2004 04:13:32 -0000 1.63
+++ src/portlint.pl 7 Sep 2004 14:47:55 -0000
@@ -174,7 +174,7 @@
MASTER_SITES WRKDIR WRKSRC NO_WRKSUBDIR PATCHDIR SCRIPTDIR FILESDIR
PKGDIR COMMENT DESCR PLIST PKGCATEGORY PKGINSTALL PKGDEINSTALL
PKGREQ PKGMESSAGE MD5_FILE .CURDIR INSTALLS_SHLIB USE_LIBTOOL_VER
- INDEXFILE PKGORIGIN CONFLICTS PKG_VERSION PKGINSTALLVER
+ INDEXFILE PKGORIGIN CONFLICTS PKG_VERSION PKGINSTALLVER OPTIONS
);
my $cmd = join(' -V ', "make $makeenv MASTER_SITE_BACKUP=''", @varlist);
@@ -1020,6 +1020,7 @@
my $use_gnome_hack = 0;
my($realwrksrc, $wrksrc, $nowrksubdir) = ('', '', '');
my(@mman, @pman);
+ my(@mopt, @oopt);
my($pkg_version, $versiondir, $versionfile) = ('', '', '');
my $useindex = 0;
my %deprecated = ();
@@ -2306,6 +2307,25 @@
"use post-patch instead.");
}
+ # check OPTIONS
+ print "OK: checking OPTIONS.\n" if ($verbose);
+ @oopt = ($makevar{OPTIONS} =~ /(\w+)\s+\".*?\"\s+\w+/sg);
+ @mopt = ($tmp =~ /^\s*\.\s*(?:ifdef\s+|if\s+defined\s*)\(?\s*WITH(?:OUT)?_(\w+)\s*\)?/mg);
+ foreach my $i (@oopt) {
+ if (!grep(/^$i$/, @mopt)) {
+ &perror("WARN: $file: $i is listed in OPTIONS, ".
+ "but neither WITH_$i nor WITHOUT_$i appears.");
+ }
+ }
+ foreach my $i (@mopt) {
+ next if ($i eq 'NLS'); # skip WITHOUT_NLS
+ if (!grep(/^$i$/, @oopt)) {
+ # XXX: disabled temporarily.
+ # Some ports still use ${SCRIPTDIR}/configure* scripts
+ #&perror("WARN: $file: WITH_$i or WITHOUT_$i appears, ".
+ # "consider using OPTIONS macro.");
+ }
+ }
1;
}
--- portlint-2.6.7.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list