diff options
author | rillig <rillig> | 2005-10-23 19:20:33 +0000 |
---|---|---|
committer | rillig <rillig> | 2005-10-23 19:20:33 +0000 |
commit | d9e76a8441555f101e7f7af8ffb84e50851fa0e3 (patch) | |
tree | 156bce8a9cb6107638319c4aba6caf7314e34455 /pkgtools | |
parent | 25b591d5ee7f37bbf3f81ea6beb5f4d497a5d339 (diff) | |
download | pkgsrc-d9e76a8441555f101e7f7af8ffb84e50851fa0e3.tar.gz |
Updated pkglint to 4.29.
Fixed the detection of list variables that are modified with operators
other than "+=". Added *_SKIP to the list of plural variable names.
Removed some unused variables from main(). (This change include
white-space changes.)
Diffstat (limited to 'pkgtools')
-rw-r--r-- | pkgtools/pkglint/Makefile | 4 | ||||
-rw-r--r-- | pkgtools/pkglint/files/pkglint.pl | 98 |
2 files changed, 49 insertions, 53 deletions
diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile index ff5421cd235..a9220fa54f6 100644 --- a/pkgtools/pkglint/Makefile +++ b/pkgtools/pkglint/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.266 2005/10/21 07:20:24 rillig Exp $ +# $NetBSD: Makefile,v 1.267 2005/10/23 19:20:33 rillig Exp $ # -DISTNAME= pkglint-4.28.2 +DISTNAME= pkglint-4.29 CATEGORIES= pkgtools devel MASTER_SITES= # empty DISTFILES= # empty diff --git a/pkgtools/pkglint/files/pkglint.pl b/pkgtools/pkglint/files/pkglint.pl index dbc6236867a..8bea7acf043 100644 --- a/pkgtools/pkglint/files/pkglint.pl +++ b/pkgtools/pkglint/files/pkglint.pl @@ -11,7 +11,7 @@ # Freely redistributable. Absolutely no warranty. # # From Id: portlint.pl,v 1.64 1998/02/28 02:34:05 itojun Exp -# $NetBSD: pkglint.pl,v 1.300 2005/10/21 07:20:24 rillig Exp $ +# $NetBSD: pkglint.pl,v 1.301 2005/10/23 19:20:33 rillig Exp $ # # This version contains lots of changes necessary for NetBSD packages # done by: @@ -1207,6 +1207,7 @@ sub get_regex_plurals() { .*_ENV .*_REQD .*_SED + .*_SKIP BUILDLINK_LDADD BUILDLINK_RECOMMENDED COMMENT @@ -1266,9 +1267,12 @@ sub checkline_Makefile_vartype($$) { my ($line, $vartypes) = @_; if ($line->text =~ $regex_varassign) { my ($varname, $op, $value) = ($1, $2, $3); + my $varbase = ($varname =~ qr"(.+?)\..*") ? $1 : $varname; + my $type = exists($vartypes->{$varname}) ? $vartypes->{$varname} + : exists($vartypes->{$varbase}) ? $vartypes->{$varbase} + : undef; if ($op eq "+=") { - my $varbase = ($varname =~ qr"(.+?)\..*") ? $1 : $varname; my $regex_plurals = get_regex_plurals(); if ($varbase !~ $regex_plurals) { @@ -1276,71 +1280,64 @@ sub checkline_Makefile_vartype($$) { } } - if (exists($vartypes->{$varname})) { - my ($type) = ($vartypes->{$varname}); - - if ($type eq "Readonly") { - $line->log_error("\"${varname}\" must not be modified by the package or the user."); + if (!defined($type)) { + $line->log_info("[checkline_Makefile_vartype] Unchecked variable ${varname}"); - } elsif ($value =~ $regex_unresolved) { - # ignore values that contain other variables + } elsif ($type eq "Readonly") { + $line->log_error("\"${varname}\" must not be modified by the package or the user."); - } elsif ($type eq "Boolean") { - if ($value !~ $regex_yesno) { - $line->log_warning("$varname should be set to YES, yes, NO, or no."); - } - - } elsif ($type eq "Yes_Or_Undefined") { - if ($value !~ $regex_yes) { - $line->log_warning("$varname should be set to YES or yes."); - } + } elsif ($type eq "Boolean") { + if ($value !~ $regex_yesno) { + $line->log_warning("$varname should be set to YES, yes, NO, or no."); + } - } elsif ($type eq "Mail_Address") { - if ($value !~ $regex_mail_address) { - $line->log_warning("\"$value\" is not a valid mail address."); - } + } elsif ($type eq "Yes_Or_Undefined") { + if ($value !~ $regex_yes) { + $line->log_warning("$varname should be set to YES or yes."); + } - } elsif ($type eq "URL") { - if ($value !~ $regex_url) { - $line->log_warning("\"$value\" is not a valid URL."); - } + } elsif ($type eq "Mail_Address") { + if ($value !~ $regex_mail_address) { + $line->log_warning("\"$value\" is not a valid mail address."); + } - } elsif ($type eq "Integer") { - if ($value !~ qr"^\d+$") { - $line->log_warning("\"$value\" is not a valid Integer."); - } + } elsif ($type eq "URL") { + if ($value !~ $regex_unresolved && $value !~ $regex_url) { + $line->log_warning("\"$value\" is not a valid URL."); + } - } elsif ($type =~ qr"^List(?: of (.*))?$") { - my ($element_type) = ($1); + } elsif ($type eq "Integer") { + if ($value !~ qr"^\d+$") { + $line->log_warning("\"$value\" is not a valid Integer."); + } - if ($op ne "+=" && $value !~ qr"^#") { - $line->log_warning("${varname} should be modified using \"+=\"."); - } + } elsif ($type =~ qr"^List(?: of (.*))?$") { + my ($element_type) = ($1); - if (!defined($element_type)) { - # no further checks possible. + if ($op ne "+=" && $value !~ qr"^#") { + $line->log_warning("${varname} should be modified using \"+=\"."); + } - } elsif ($element_type eq "Dependency") { - if ($value =~ $regex_unresolved) { - # don't even try to check anything - } elsif ($value =~ qr":\.\./\.\./") { - # great. - } elsif ($value =~ qr":\.\./") { - $line->log_warning("Dependencies should have the form \"../../category/package\"."); - } else { - $line->log_warning("Unknown dependency format."); - } + if (!defined($element_type)) { + # no further checks possible. + } elsif ($element_type eq "Dependency") { + if ($value =~ $regex_unresolved) { + # don't even try to check anything + } elsif ($value =~ qr":\.\./\.\./") { + # great. + } elsif ($value =~ qr":\.\./") { + $line->log_warning("Dependencies should have the form \"../../category/package\"."); } else { - $line->log_error("[internal] Element-type ${element_type} unknown."); + $line->log_warning("Unknown dependency format."); } } else { - $line->log_error("[internal] Type $type unknown."); + $line->log_error("[internal] Element-type ${element_type} unknown."); } } else { - $line->log_info("[checkline_Makefile_vartype] Unchecked variable ${varname}"); + $line->log_error("[internal] Type $type unknown."); } } } @@ -2665,7 +2662,6 @@ sub checkdir($) { # sub main() { - my ($startsec, $startusec, $endsec, $endusec); parse_command_line(); |