Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Oct 2014 18:57:37 -0500
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Joe Marcus Clarke <marcus@FreeBSD.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r370494 - in head/ports-mgmt/portlint: . src
Message-ID:  <5435CF71.3060406@FreeBSD.org>
In-Reply-To: <201410082340.s98Ne3CW085218@svn.freebsd.org>
References:  <201410082340.s98Ne3CW085218@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--tUfcuc5LNRosp6tbafLNkALSEr5PM9d3S
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 10/8/2014 6:40 PM, Joe Marcus Clarke wrote:
> Author: marcus
> Date: Wed Oct  8 23:40:03 2014
> New Revision: 370494
> URL: https://svnweb.freebsd.org/changeset/ports/370494
> QAT: https://qat.redports.org/buildarchive/r370494/
>=20
> Log:
>   Update to 2.15.5.

Thanks!

>  =20
>   * Do not report on DEBUG as an OPTION. [1]
>   * Check for use of muted INSTALL_foo commands.
>   * Warn on use of @dirrm[try].
>   * Check to make sure rc.d scripts contain a '# PROVIDE:' line. [2]
>   * Check to see that the options provided to USES are sorted. [3]
>   * Fix an errant "direct use of command" warning. [4]
>   * Remove the check to see if StartupNotify is the empty string in
>     DESKTOP_ENTRIES.  This is allowed per the spec and per the porter's=

>     handbook. [5]
>   * Check for empty lines in plist. [6]
>   * Check for direct command use in SHEBANG_FILES. [7]
>  =20
>   PR:		192525 [1]
>   		193464 [2]
>   		193792 [3]
>   		193793 [4]
>   		193456 [5]
>   		193794 [6]
>   		193795 [7]
>=20
> Modified:
>   head/ports-mgmt/portlint/Makefile
>   head/ports-mgmt/portlint/src/portlint.pl
>=20
> Modified: head/ports-mgmt/portlint/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/ports-mgmt/portlint/Makefile	Wed Oct  8 22:41:59 2014	(r370493=
)
> +++ head/ports-mgmt/portlint/Makefile	Wed Oct  8 23:40:03 2014	(r370494=
)
> @@ -2,7 +2,7 @@
>  # $FreeBSD$
> =20
>  PORTNAME=3D	portlint
> -PORTVERSION=3D	2.15.4
> +PORTVERSION=3D	2.15.5
>  CATEGORIES=3D	ports-mgmt
>  MASTER_SITES=3D	# none
>  DISTFILES=3D	# none
>=20
> Modified: head/ports-mgmt/portlint/src/portlint.pl
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/ports-mgmt/portlint/src/portlint.pl	Wed Oct  8 22:41:59 2014	(=
r370493)
> +++ head/ports-mgmt/portlint/src/portlint.pl	Wed Oct  8 23:40:03 2014	(=
r370494)
> @@ -15,7 +15,7 @@
>  # was removed.
>  #
>  # $FreeBSD$
> -# $MCom: portlint/portlint.pl,v 1.327 2014/07/28 13:15:56 marcus Exp $=

> +# $MCom: portlint/portlint.pl,v 1.338 2014/10/08 23:35:33 marcus Exp $=

>  #
> =20
>  use strict;
> @@ -51,7 +51,7 @@ $portdir =3D '.';
>  # version variables
>  my $major =3D 2;
>  my $minor =3D 15;
> -my $micro =3D 4;
> +my $micro =3D 5;
> =20
>  sub l { '[{(]'; }
>  sub r { '[)}]'; }
> @@ -600,6 +600,10 @@ sub checkplist {
>  		$_ =3D~ s/\s+$//;
>  		$_ =3D~ s/\n$//;
> =20
> +		if ($_ eq "") {
> +			&perror("WARN", $file, $., "empty line found in plist.");
> +		}
> +
>  		# store possible OPTIONS knobs for OPTIONS_SUB
>  		if ($makevar{OPTIONS_SUB}) {
>  			while (/\%\%([^%]+)\%\%/g) {
> @@ -634,6 +638,12 @@ sub checkplist {
>  				"removed.  It is listed in BSD.local.dist.");
>  		}
> =20
> +		if (m'\@dirrm(try)?\s') {
> +			&perror("WARN", $file, $., "\@dirrm[try] is deprecated.  If you ".
> +				"require special directory handling, use \@dir instead and ".
> +				"consult the porter's handbook.");
> +		}
> +
>  		$seen_special++ if /[\%\@]/;
>  		$seen_dirrm_docsdir++ if /^(\%\%PORTDOCS\%\%)?\@dirrm\s+\%\%DOCSDIR\=
%\%/ || /^(\%\%PORTDOCS\%\%)?\@unexec\s+(\/bin\/)?rmdir\s+\%D\/\%\%DOCSDI=
R\%\%\s+2\>\s*\/dev\/null\s+\|\|\s+(\/usr\/bin\/)?true/;
>  		if ($_ =3D~ /^\@/) {
> @@ -1387,8 +1397,19 @@ sub checkmakefile {
>  	print "OK: checking for use of .elseif.\n" if ($verbose);
>  	if ($whole =3D~ /^\.\s*else\s*if/m) {
>  		my $lineno =3D &linenumber($`);
> -		&perror("FATAL", $file, $lineno, "use of .elseif (or .else if) is no=
t
> -			supported in all versions of FreeBSD.  Use .elif instead.");
> +		&perror("FATAL", $file, $lineno, "use of .elseif (or .else if) is no=
t ".
> +			"supported in all versions of FreeBSD.  Use .elif instead.");
> +	}
> +
> +	#
> +	# whole file: use of @${INSTALL_foo}
> +	#
> +	print "OK: checking for use of muted INSTALL_ commands.\n" if ($verbo=
se);
> +	if ($whole =3D~ /^\s+\@\$\{INSTALL_/m) {
> +		my $lineno =3D &linenumber($`);
> +		&perror("WARN", $file, $lineno, "do not use muted INSTALL_foo ".
> +			"commands (i.e., those that start with '\@').  These should be ".
> +			"printed.");
>  	}
> =20
>  	#
> @@ -1580,7 +1601,7 @@ sub checkmakefile {
>  	}
>  	foreach my $i ((@opt, @aopt)) {
>  		# skip global options
> -		next if ($i eq 'DOCS' or $i eq 'NLS' or $i eq 'EXAMPLES' or $i eq 'I=
PV6' or $i eq 'X11');
> +		next if ($i eq 'DOCS' or $i eq 'NLS' or $i eq 'EXAMPLES' or $i eq 'I=
PV6' or $i eq 'X11' or $i eq 'DEBUG');
>  		if (!grep(/^$i$/, (@mopt, @popt))) {
>  			if ($whole !~ /\n${i}_($m)(.)?=3D[^\n]+/) {
>  				&perror("WARN", $file, -1, "$i is listed in ".
> @@ -1608,25 +1629,6 @@ sub checkmakefile {
>  		&perror("FATAL", $file, -1, "Use true/false (without quotes) instead=
 of \${TRUE}/\${FALSE} in DESKTOP_ENTRIES.");
>  	}
> =20
> -	my @dte_parts =3D split(/\s+/, $desktop_entries);
> -	my $dtc =3D 0;
> -	my $dte_quote =3D 0;
> -	foreach my $dte_part (@dte_parts) {
> -		if ($dtc % 5 =3D=3D 0 && $dte_part eq '""') {
> -			&perror("FATAL", $file, -1, "Use true/false (without quotes) instea=
d of \${TRUE}/\${FALSE} in DESKTOP_ENTRIES.");
> -		}
> -		if ($dte_quote =3D=3D 1 && $dte_part =3D~ /"$/) {
> -			$dte_quote =3D 0;
> -		}
> -		if ($dte_part =3D~ /^"[^"]+$/) {
> -			$dte_quote =3D 1;
> -			next;
> -		}
> -		if (!$dte_quote) {
> -			$dtc++;
> -		}
> -	}
> -
>  	#
>  	# whole file: USE_* as a user-settable option
>  	#
> @@ -1700,6 +1702,11 @@ sub checkmakefile {
>  		}
>  	}
> =20
> +	if ($makevar{COMMENT} =3D~ /^An? / || $makevar{COMMENT} =3D~ /^The /)=
 {
> +		&perror("WARN", $file, -1, "COMMENT is not supposed to begin with ".=

> +			"'A ', 'An ', or 'The '.");
> +	}
> +
>  	if ($whole =3D~ /\nIGNORE[+?]?=3D[ \t]+[^a-z \t]/ ||
>  		$whole =3D~ /^IGNORE[+?]?=3D[ \t]+.*\.$/m) {
>  		my $lineno =3D &linenumber($`);
> @@ -1732,6 +1739,18 @@ sub checkmakefile {
>  	}
> =20
>  	#
> +	# whole file: Check if USES is sorted
> +	#
> +	print "OK: checking to see if USES is sorted.\n" if ($verbose);
> +	if ($makevar{USES} ne '') {
> +		my @suses =3D sort(split / /, $makevar{USES});
> +		if (join(" ", @suses) ne $makevar{USES}) {
> +			&perror("WARN", $file, -1, "the options to USES are not sorted. ".
> +				"Please consider sorting them.");
> +		}
> +	}
> +
> +	#
>  	# whole file: USE_GNOME=3Dpkgconfig
>  	#
>  	print "OK: checking for USE_GNOME=3Dpkgconfig.\n" if ($verbose);
> @@ -1909,6 +1928,7 @@ ruby sed sdl-config sh sort sysctl touch
>  				&& $curline !~ /^WX_COMPS(.)?=3D[^\n]+$i/m
>  				&& $curline !~ /^ONLY_FOR_ARCHS_REASON(.)?=3D[^\n]+$i/m
>  				&& $curline !~ /^NOT_FOR_ARCHS_REASON(.)?=3D[^\n]+$i/m
> +				&& $curline !~ /^SHEBANG_FILES(.)?=3D[^\n]+$i/m
>  				&& $curline !~ /^[A-Z0-9_]+_DESC=3D[^\n]+$i/m
>  				&& $curline !~ /^\s*#.+$/m
>  				&& $curline !~ /\-\-$i/m
> @@ -1936,6 +1956,8 @@ ruby sed sdl-config sh sort sysctl touch
>  				&& $lm !~ /^MAINTAINER(.)?=3D[^\n]+($i\d*)/m
>  				&& $lm !~ /^CATEGORIES(.)?=3D[^\n]+($i\d*)/m
>  				&& $lm !~ /^USES(.)?=3D[^\n]+$i/m
> +				&& $lm !~ /^[A-Z0-9_]+_DESC=3D[^\n]+($i\d*)/m
> +				&& $lm !~ /^SHEBANG_FILES(.)?=3D[^\n]+($i\d*)/m
>  				&& $lm !~ /^USE_AUTOTOOLS(.)?=3D[^\n]+($i\d*)/m
>  				&& $lm !~ /^\s*#.+$/m
>  				&& $lm !~ /^COMMENT(.)?=3D[^\n]+($i\d*)/m) {
> @@ -3227,7 +3249,26 @@ TEST_DEPENDS FETCH_DEPENDS DEPENDS_TARGE
>  				} 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 (open(RCIN, "< files/$i.in")) {
> +						my @rccontents =3D <RCIN>;
> +						my $found_provide =3D 0;
> +						foreach my $line (@rccontents) {
> +							if ($line =3D~ /^# PROVIDE:/) {
> +								$found_provide =3D 1;
> +								last;
> +							}
> +						}
> +						if (!$found_provide) {
> +							&perror("FATAL", "files/$i.in", -1, "rc.d script ".
> +								"$i.in must contain a '# PROVIDE:' line in ".
> +								"order to be started at boot time.");
> +						}
> +
> +						close(RCIN);
> +					}
>  				}
> +
>  			}
>  		}
>  	}
> @@ -3435,7 +3476,21 @@ work		\${WRKDIR} instead
>  EOF
>  		foreach my $i (keys %cmdnames) {
>  			# use (?![\w-]) instead of \b to exclude pkg-*
> -			if ($s =3D~ /^[^#]*(\.\/|\$[\{\(]\.CURDIR[\}\)]\/|[ \t])(\b$i)(?![\=
w-])/) {
> +			if ($s =3D~ /^[^#]*(\.\/|\$[\{\(]\.CURDIR[\}\)]\/|[ \t])(\b$i)(?![\=
w-])/
> +			    && $s !~ /^COMMENT(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^IGNORE(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^BROKEN(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^RESTRICTED(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^NO_PACKAGE(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^NO_CDROM(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^MAINTAINER(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^CATEGORIES(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^USES(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^WX_COMPS(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^SHEBANG_FILES(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^[A-Z0-9_]+_DESC=3D[^\n]+$i/m
> +				&& $s !~ /^ONLY_FOR_ARCHS_REASON(.)?=3D[^\n]+$i/m
> +				&& $s !~ /^NOT_FOR_ARCHS_REASON(.)?=3D[^\n]+$i/m) {
>  				&perror("WARN", $file, -1, "possible direct use of \"$i\" \"$s\" "=
=2E
>  					"found. if so, use $cmdnames{$i}.");
>  			}
>=20


--=20
Regards,
Bryan Drewery


--tUfcuc5LNRosp6tbafLNkALSEr5PM9d3S
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)

iQEcBAEBAgAGBQJUNc90AAoJEDXXcbtuRpfPJ/4H/2LKO6Wvw14JJBZmygPUzHco
9Vuo46bquwX3wcTyw9xY2rY+MhONg29OytmLMUsy6sxbTMmcS7KQipQ0tA1/2/YO
yWM5UVufMz9Ivguqo7uhYEd5Fj+DswLPXuh4FaHnKm44POaJofcHy5q3TZlG+nRL
wlsLsL9sOuufB8OWLyH1EdU1P1Yxtsj5X2waK6Yv6LJxJG0nR2NDbEQcpDfp9hf+
bycvE5n5bo05gsm2cDpihyfH+segC2CuYSjDQ9aTHBwChajjO3qKXKjuSyoaaDTN
oiJAoUEejxDU3NMSCDBiBczi2d+rARzIbb11po/g3W3kFnzf47KZBeDv0mvZbAc=
=H2i7
-----END PGP SIGNATURE-----

--tUfcuc5LNRosp6tbafLNkALSEr5PM9d3S--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5435CF71.3060406>