forked from Lainports/freebsd-ports
ports-mgmt/portlint: Update to 2.19.13
* Allow for a plus ('+') in other places in a PORTVERSION [1]
* Check for .dkestop file installation [2]
* Support the new Makefile WWW macro [3]
PR: 265364 [1]
265551 [2]
266068 [3]
Submitted by: Robert Clausecker [1]
se [3]
This commit is contained in:
parent
59ce615587
commit
9800743f01
2 changed files with 53 additions and 20 deletions
|
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= portlint
|
||||
PORTVERSION= 2.19.12
|
||||
PORTVERSION= 2.19.13
|
||||
CATEGORIES= ports-mgmt
|
||||
MASTER_SITES= # none
|
||||
DISTFILES= # none
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ $portdir = '.';
|
|||
# version variables
|
||||
my $major = 2;
|
||||
my $minor = 19;
|
||||
my $micro = 12;
|
||||
my $micro = 13;
|
||||
|
||||
# default setting - for FreeBSD
|
||||
my $portsdir = '/usr/ports';
|
||||
|
|
@ -158,7 +158,7 @@ my @varlist = qw(
|
|||
PKGNAMEPREFIX PKGNAMESUFFIX DISTVERSIONPREFIX DISTVERSION
|
||||
DISTVERSIONSUFFIX DISTNAME DISTFILES CATEGORIES MASTERDIR MAINTAINER
|
||||
MASTER_SITES WRKDIR WRKSRC NO_WRKSUBDIR SCRIPTDIR FILESDIR
|
||||
PKGDIR COMMENT DESCR PLIST PKGCATEGORY PKGINSTALL PKGDEINSTALL
|
||||
PKGDIR COMMENT WWW DESCR PLIST PKGCATEGORY PKGINSTALL PKGDEINSTALL
|
||||
PKGREQ PKGMESSAGE DISTINFO_FILE .CURDIR USE_LDCONFIG USE_AUTOTOOLS
|
||||
USE_GNOME USE_PERL5 USE_QT USE_QT5 INDEXFILE PKGORIGIN
|
||||
CONFLICTS CONFLICTS_BUILD CONFLICTS_INSTALL PKG_VERSION
|
||||
|
|
@ -490,7 +490,7 @@ sub checkdescr {
|
|||
my($file) = @_;
|
||||
my(%maxchars) = ($makevar{DESCR}, 80);
|
||||
my(%maxlines) = ($makevar{DESCR}, 24);
|
||||
my(%minlines) = ($makevar{DESCR}, 3);
|
||||
my(%minlines) = ($makevar{DESCR}, 2);
|
||||
my(%toolongerrmsg) = ($makevar{DESCR},
|
||||
"exceeds $maxlines{$makevar{DESCR}} ".
|
||||
"lines, make it shorter if possible.");
|
||||
|
|
@ -515,10 +515,10 @@ sub checkdescr {
|
|||
}
|
||||
if (/^WWW:(\s+)(\S*)/) {
|
||||
my $wwwurl = $2;
|
||||
if ($1 ne ' ') {
|
||||
&perror("WARN", $file, -1, "use WWW: with a single space, ".
|
||||
"then $wwwurl");
|
||||
}
|
||||
&perror("WARN", $file, -1, "the URL of the project website has been ".
|
||||
"moved into the Makefile. ".
|
||||
"Remove the WWW: line from this file and add \"WWW=$wwwurl\"".
|
||||
"to the Makefile immediately below the COMMENT line.");
|
||||
if ($wwwurl !~ m|^https?://|) {
|
||||
&perror("WARN", $file, -1, "WWW URL, $wwwurl should begin ".
|
||||
"with \"http://\" or \"https://\".");
|
||||
|
|
@ -821,6 +821,11 @@ sub checkplist {
|
|||
"for more details)");
|
||||
}
|
||||
|
||||
if ($_ =~ m|\.desktop$| && $makevar{USES} !~ /\bdesktop-file-utils\b/) {
|
||||
&perror("FATAL", $file, $., "this port installs .desktop files. ".
|
||||
"Please add `desktop-file-utils` to USES.");
|
||||
}
|
||||
|
||||
if ($_ =~ m|^(%%([^%]+)%%)?.*\.mo$| && $makevar{USES} !~ /\bgettext\b/) {
|
||||
my $show_nls_warn = 1;
|
||||
if ($2) {
|
||||
|
|
@ -1569,6 +1574,10 @@ sub checkmakefile {
|
|||
&perror("FATAL", "", -1, "PLIST_FILES: files cannot contain ".
|
||||
"%%FOO%% variables. Use make variables and logic instead");
|
||||
}
|
||||
if ($plist_file =~ m|\.desktop$| && $makevar{USES} !~ /\bdesktop-file-utils\b/) {
|
||||
&perror("FATAL", "", -1, "PLIST_FILES: this port installs .desktop files. ".
|
||||
"please add `desktop-file-utils` to USES.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -2171,6 +2180,7 @@ xargs xmkmf
|
|||
&& $curline !~ /^NO_PACKAGE(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^NO_CDROM(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^MAINTAINER(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^WWW(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^CATEGORIES(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^(\w+)?USES(.)?=[^\n]+$i/m
|
||||
&& $curline !~ /^WX_COMPS(.)?=[^\n]+$i/m
|
||||
|
|
@ -2205,6 +2215,7 @@ xargs xmkmf
|
|||
&& $lm !~ /^NO_PACKAGE(.)?=[^\n]+($i\d*)/m
|
||||
&& $lm !~ /^NO_CDROM(.)?=[^\n]+($i\d*)/m
|
||||
&& $lm !~ /^MAINTAINER(.)?=[^\n]+($i\d*)/m
|
||||
&& $lm !~ /^WWW(.)?=[^\n]+($i\d*)/m
|
||||
&& $lm !~ /^CATEGORIES(.)?=[^\n]+($i\d*)/m
|
||||
&& $lm !~ /^USES(.)?=[^\n]+$i/m
|
||||
&& $lm !~ /^[A-Z0-9_]+_DESC=[^\n]+($i\d*)/m
|
||||
|
|
@ -2677,15 +2688,16 @@ EOF
|
|||
&perror("WARN", $file, -1, "Version required is no longer needed in the comment section.");
|
||||
}
|
||||
|
||||
#
|
||||
# for the rest of the checks, comment lines are not important.
|
||||
#
|
||||
for ($i = 0; $i < scalar(@sections); $i++) {
|
||||
$sections[$i] = "\n" . $sections[$i];
|
||||
$sections[$i] =~ s/\n#[^\n]*//g;
|
||||
$sections[$i] =~ s/\n\n+/\n/g;
|
||||
$sections[$i] =~ s/^\n//;
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# for the rest of the checks, comment lines are not important.
|
||||
#
|
||||
for ($i = 0; $i < scalar(@sections); $i++) {
|
||||
$sections[$i] = "\n" . $sections[$i];
|
||||
$sections[$i] =~ s/\n#[^\n]*//g;
|
||||
$sections[$i] =~ s/\n\n+/\n/g;
|
||||
$sections[$i] =~ s/^\n//;
|
||||
}
|
||||
|
||||
#
|
||||
|
|
@ -2972,7 +2984,7 @@ DIST_SUBDIR EXTRACT_ONLY
|
|||
&perror("FATAL", $file, -1, "either PORTVERSION or DISTVERSION must be specified");
|
||||
}
|
||||
if ($portversion =~ /^pl[0-9]*$/
|
||||
|| $portversion =~ /^[0-9]*[A-Za-z]?[0-9]*(\.[0-9]*[A-Za-z]?[0-9+]*)*$/) {
|
||||
|| $portversion =~ /^[0-9]*[A-Za-z]?[0-9]*([.+][0-9]*[A-Za-z]?[0-9+]*)*$/) {
|
||||
print "OK: PORTVERSION \"$portversion\" looks fine.\n" if ($verbose);
|
||||
} elsif ($portversion =~ /^[^\-]*\$[{\(].+[\)}][^\-]*$/) {
|
||||
&perror("WARN", $file, -1, "using variable, \"$portversion\", as version ".
|
||||
|
|
@ -3176,7 +3188,7 @@ PATCH_SITES PATCHFILES PATCH_DIST_STRIP
|
|||
|
||||
&checkearlier($file, $tmp, @varnames);
|
||||
&checkorder('MAINTAINER', $tmp, $file, qw(
|
||||
MAINTAINER COMMENT
|
||||
MAINTAINER COMMENT WWW
|
||||
));
|
||||
|
||||
$tmp = "\n" . $tmp;
|
||||
|
|
@ -3226,10 +3238,31 @@ MAINTAINER COMMENT
|
|||
}
|
||||
}
|
||||
|
||||
# check WWW
|
||||
if ($tmp !~ /\nWWW.?=\s*(\S+)/) {
|
||||
&perror("WARN", $file, -1, "WWW should exist and immediately follow COMMENT.") unless ($makevar{WWW} ne '');
|
||||
}
|
||||
|
||||
# check for correctness
|
||||
{
|
||||
my $wwwurl = $1 // $makevar{WWW};
|
||||
if ($wwwurl and $wwwurl !~ m|^https?://|) {
|
||||
&perror("WARN", $file, -1, "WWW URL, $wwwurl should begin with \"http://\" or \"https://\".");
|
||||
}
|
||||
if ($wwwurl =~ m|search.cpan.org|) {
|
||||
if ($wwwurl =~ m|^http.?://search.cpan.org/~|) {
|
||||
&perror("WARN", $file, -1, "consider changing WWW URL to https://search.cpan.org/dist/$makevar{PORTNAME}/");
|
||||
}
|
||||
if ($wwwurl =~ m,/$,) {
|
||||
&perror("WARN", $file, -1, "end WWW CPAN URL with a \"/\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$idx++;
|
||||
|
||||
push(@varnames, qw(
|
||||
MAINTAINER COMMENT
|
||||
MAINTAINER COMMENT WWW
|
||||
));
|
||||
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue