svn commit: r527653 - in head/ports-mgmt/portlint: . src

Joe Marcus Clarke marcus at FreeBSD.org
Mon Mar 2 22:23:12 UTC 2020


Author: marcus
Date: Mon Mar  2 22:23:10 2020
New Revision: 527653
URL: https://svnweb.freebsd.org/changeset/ports/527653

Log:
  Update to 2.18.11
  
  * No longer warn for manpages installed under share/man [1]
  * Remove code to combine comments and blank lines in a section [2]
  * Remove code to combine comments and blank lines [3]
  * USE_PYQT sets the necessary QT USES [4]
  * Only warn on lack of INSTALLS_ICONS when USES=gnome is set [5]
  * Check for files that have been patched multiple times [6]
  
  PR:		240359 [2]
  		244480 [3]
  		240445 [4]
  		244039 [5]
  		243600 [6]
  Submitted by:	0mp [1] [5]
  		vladimir.chukharev at gmail.com [4]
  		swills [6]
  Differential Revision:	D23896 [1]

Modified:
  head/ports-mgmt/portlint/Makefile
  head/ports-mgmt/portlint/src/portlint.pl

Modified: head/ports-mgmt/portlint/Makefile
==============================================================================
--- head/ports-mgmt/portlint/Makefile	Mon Mar  2 21:17:59 2020	(r527652)
+++ head/ports-mgmt/portlint/Makefile	Mon Mar  2 22:23:10 2020	(r527653)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	portlint
-PORTVERSION=	2.18.10
+PORTVERSION=	2.18.11
 CATEGORIES=	ports-mgmt
 MASTER_SITES=	# none
 DISTFILES=	# none

Modified: head/ports-mgmt/portlint/src/portlint.pl
==============================================================================
--- head/ports-mgmt/portlint/src/portlint.pl	Mon Mar  2 21:17:59 2020	(r527652)
+++ head/ports-mgmt/portlint/src/portlint.pl	Mon Mar  2 22:23:10 2020	(r527653)
@@ -15,7 +15,7 @@
 # was removed.
 #
 # $FreeBSD$
-# $MCom: portlint/portlint.pl,v 1.498 2019/09/04 15:03:38 jclarke Exp $
+# $MCom: portlint/portlint.pl,v 1.505 2020/03/02 22:19:11 jclarke Exp $
 #
 
 use strict;
@@ -50,7 +50,7 @@ $portdir = '.';
 # version variables
 my $major = 2;
 my $minor = 18;
-my $micro = 10;
+my $micro = 11;
 
 # default setting - for FreeBSD
 my $portsdir = '/usr/ports';
@@ -160,7 +160,7 @@ my @varlist =  qw(
 	ALLFILES CHECKSUM_ALGORITHMS INSTALLS_ICONS GNU_CONFIGURE
 	CONFIGURE_ARGS MASTER_SITE_SUBDIR LICENSE LICENSE_COMB NO_STAGE
 	DEVELOPER SUB_FILES SHEBANG_LANG MASTER_SITES_SUBDIRS FLAVORS
-	USE_PYTHON LICENSE_PERMS
+	USE_PYTHON LICENSE_PERMS USE_PYQT
 );
 
 my %makevar;
@@ -307,6 +307,8 @@ foreach my $i (@checker) {
 	}
 }
 
+checkpatches(<$makevar{FILESDIR}/patch-*>);
+
 if ($committer) {
 	sub find_proc {
 		return if /^\.\.?$/;
@@ -895,10 +897,11 @@ sub checkplist {
 				"accordingly.") unless ($check_xxxdir_ok{$3} eq $1);
 		}
 
-		if ($_ =~ m#share/man/#) {
-			&perror("FATAL", $file, $., "Man pages must be installed into ".
-				"``man'' not ``share/man''.");
-		}
+		# It is now recommended for manpages to be installed under share/man.
+		#if ($_ =~ m#share/man/#) {
+		#	&perror("FATAL", $file, $., "Man pages must be installed into ".
+		#		"``man'' not ``share/man''.");
+		#}
 
 		if ($_ =~ m#man/([^/]+/)?man[1-9ln]/([^\.]+\.[1-9ln])(\.gz)?$#) {
 			if (!$3) {
@@ -1035,6 +1038,26 @@ sub checklastline {
 	close(IN);
 }
 
+sub checkpatches {
+	my (@patchfiles) = @_;
+	my @patched_files;
+	foreach my $file (@patchfiles) {
+		open(IN, "< $file") || return 0;
+		while (<IN>) {
+			if ($_ =~ /^\+\+\+\s(.*?)\s.*/) {
+				#if($1 ~~ @patched_files) {
+				if (grep {$_ eq $1} @patched_files) {
+					&perror("WARN", $file, -1, "$1 patched multiple times");
+				}
+				else {
+					push(@patched_files, $1);
+				}
+
+			}
+		}
+	}
+}
+
 sub checkpatch {
 	my($file) = @_;
 	my($whole);
@@ -1741,6 +1764,10 @@ sub checkmakefile {
 	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');
+		my $odescr = &get_makevar("${i}_DESC");
+		if (!$odescr) {
+			&perror("FATAL", $file, -1, "OPTION $i does not have a description (${i}_DESC).");
+		}
 		if (!grep(/^$i$/, (@mopt, @popt))) {
 			if ($whole !~ /\n${i}_($m)(_\w+)?(.)?=[^\n]+/ and $whole !~ /\n[-\w]+-${i}-(on|off):\n/) {
 				if (!$slaveport) {
@@ -2332,7 +2359,7 @@ xargs xmkmf
 	#
 	# whole file: USES=pyqt:5
 	#
-	if ($makevar{USES} =~ /\bpyqt:5/ && $whole !~ /^USE_PYQT[?:]?=\s(.*)$/m) {
+	if ($makevar{USES} =~ /\bpyqt:5/ && $whole !~ /^USE_PYQT[?:]?=\s(.*)$/m  && $makevar{USE_PYQT} eq '') {
 		&perror("WARN", $file, -1, "When USES=pyqt:5 is defined, you must also define ".
 			"USE_PYQT=xxxx");
 	}
@@ -2591,7 +2618,8 @@ xargs xmkmf
 	$tmp = $rawwhole;
 	$tmp =~ s/\\\n/ /g;
 	# keep comment, blank line, comment in the same section
-	$tmp =~ s/(#.*\n)\n+(#.*)/$1$2/g;
+	# XXX: Take this out since it breaks some commenting; see PR240359.
+	#$tmp =~ s/(#.*\n)\n+(#.*)/$1$2/g;
 	@sections = split(/\n\n+/, $tmp);
 	for ($i = 0; $i <= $#sections; $i++) {
 		if ($sections[$i] !~ /\n$/) {
@@ -3855,10 +3883,8 @@ sub urlcheck {
 	}
 }
 
-# GNOME wants INSTALL_ICONS, but Qt-based applications, including KDE, don't.
-# Be pessimistic: everything needs it unless we know it doesn't.
 sub needs_installs_icons {
-	return $makevar{USE_QT5} eq '' && $makevar{USE_QT} eq ''
+	return $makevar{USES} =~ /gnome/
 }
 
 sub TRUE {1;}


More information about the svn-ports-head mailing list