summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorabs <abs@pkgsrc.org>2005-03-07 22:21:15 +0000
committerabs <abs@pkgsrc.org>2005-03-07 22:21:15 +0000
commitf0b56b8383535702298d13adc0856101aaf631a8 (patch)
treec501bdf68aa5272e30ef268a3e59f1bd1abde4f2 /pkgtools
parentbf04656d7b85db295d49ea1fb3425f71eea2c103 (diff)
downloadpkgsrc-f0b56b8383535702298d13adc0856101aaf631a8.tar.gz
update pkglint to 4.09:
Handle ! in .if conditionals, plus move slightly closer to the real 'make's behaviour when using defined() and empty(). Should fix pkg/28346
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkglint/Makefile4
-rwxr-xr-xpkgtools/pkglint/files/lintpkgsrc.pl12
2 files changed, 10 insertions, 6 deletions
diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile
index d65524f3d07..9565338fda0 100644
--- a/pkgtools/pkglint/Makefile
+++ b/pkgtools/pkglint/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.224 2005/02/24 22:50:55 rillig Exp $
+# $NetBSD: Makefile,v 1.225 2005/03/07 22:21:15 abs Exp $
#
-DISTNAME= pkglint-4.08
+DISTNAME= pkglint-4.09
CATEGORIES= pkgtools devel
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/pkgtools/pkglint/files/lintpkgsrc.pl b/pkgtools/pkglint/files/lintpkgsrc.pl
index 752cb2b10b2..8c99e1874ad 100755
--- a/pkgtools/pkglint/files/lintpkgsrc.pl
+++ b/pkgtools/pkglint/files/lintpkgsrc.pl
@@ -1,6 +1,6 @@
#!@PERL@
-# $NetBSD: lintpkgsrc.pl,v 1.96 2005/02/05 15:39:44 wiz Exp $
+# $NetBSD: lintpkgsrc.pl,v 1.97 2005/03/07 22:21:15 abs Exp $
# Written by David Brownlee <abs@netbsd.org>.
#
@@ -1101,15 +1101,19 @@ sub parse_eval_make_false
# XXX Could do something with target
while ( $test =~ /(target|empty|make|defined|exists)\s*\(([^()]+)\)/ )
{
+ my $var = $${vars}{$2};
+ if (defined $var && $var eq $magic_undefined)
+ { $var = undef; }
if ($1 eq 'exists')
{ $_ = (-e $2) ?1 :0; }
elsif( $1 eq 'defined')
- { $_ = (defined($${vars}{$2}) ?1 :0); }
+ { $_ = defined($var) ?1 :0; }
elsif( $1 eq 'empty')
- { $_ = ((not defined($${vars}{$2}) or (length($${vars}{$2}) == 0)) ?1 :0); }
+ { $_ = ((not defined($var) or (length($var) == 0)) ?1 :0); }
else
{ $_ = 0; }
$test =~ s/$1\s*\([^()]+\)/$_/;
+ debug("conditional: update to $test\n");
}
while ( $test =~ /([^\s()\|\&]+)\s+(!=|==)\s+([^\s()]+)/ )
{
@@ -1119,7 +1123,7 @@ sub parse_eval_make_false
{ $_ = ($1 ne $3) ?1 :0; }
$test =~ s/[^\s()\|\&]+\s+(!=|==)\s+[^\s()]+/$_/;
}
- if ($test !~ /[^<>\d()\s&|.]/ )
+ if ($test !~ /[^<>\d()\s&|.!]/ )
{
$false = eval "($test)?0:1";
if (!defined $false)