ports/160959: [PATCH] ports-mgmt/portlint: add *FLAGS checks
Dmitry Marakasov
amdmi3 at amdmi3.ru
Fri Sep 23 23:30:11 UTC 2011
>Number: 160959
>Category: ports
>Synopsis: [PATCH] ports-mgmt/portlint: add *FLAGS checks
>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: Fri Sep 23 23:30:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Marakasov
>Release: FreeBSD 8.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Tue Mar 8 09:48:52 MSK
>Description:
- Mark using LDFLAGS in CONFIGURE_ENV and error, just like using CPPFLAGS is (LDFLAGS support was just committed to ports)
- Suggest to modify values of CPPFLAGS and LDFLAGS with += instead of =, to make them user-customizable just like C/CXXFLAGS
- Additionally check for overriding any of *FLAGS and suggest to append or alter them instead
Port maintainer (marcus at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:
--- portlint-2.13.7.patch begins here ---
Index: src/portlint.pl
===================================================================
RCS file: /home/amdmi3/projects/freebsd/FreeBSD.cvs/ports/ports-mgmt/portlint/src/portlint.pl,v
retrieving revision 1.124
diff -u -u -r1.124 portlint.pl
--- src/portlint.pl 21 Aug 2011 23:35:27 -0000 1.124
+++ src/portlint.pl 23 Sep 2011 23:17:33 -0000
@@ -2104,7 +2104,7 @@
(defined($cxxflags) && $cxxflags =~ /-I/)) {
&perror("WARN", $file, -1, "Consider passing include paths ".
"to configure via the CPPFLAGS macro ".
- "(i.e. CPPFLAGS=-I...)");
+ "(i.e. CPPFLAGS+=-I...)");
}
}
@@ -2133,7 +2133,26 @@
&perror("FATAL", $file, -1, "$1 is already ".
"passed in CONFIGURE_ENV via bsd.port.mk. If you need to ".
"override the default value, alter $1 in the Makefile ".
- "instead with $1=...");
+ "instead with $1+=...");
+ }
+
+ if ($configure_env =~ /(LDFLAGS)=/) {
+ &perror("FATAL", $file, -1, "$1 is already ".
+ "passed in CONFIGURE_ENV via bsd.port.mk. If you need to ".
+ "override the default value, alter $1 in the Makefile ".
+ "instead with $1+=...");
+ }
+ }
+
+ #
+ # whole file: *FLAGS
+ #
+ foreach my $f (qw(CFLAGS CXXFLAGS CPPFLAGS LDFLAGS)) {
+ if ($whole =~ /^$f=/m) {
+ &perror("WARN", $file, -1, "$f is overriden in the Makefile ".
+ "clobbering a value possibly set by a user. Consider ".
+ "using $f+=... if you want to add or $f:=\${$f:C/...//} ".
+ "if you want to remove specific flags");
}
}
--- portlint-2.13.7.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list