diff options
Diffstat (limited to 'ports-mgmt/porteasy/src/porteasy.pl')
-rw-r--r-- | ports-mgmt/porteasy/src/porteasy.pl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ports-mgmt/porteasy/src/porteasy.pl b/ports-mgmt/porteasy/src/porteasy.pl index 230ab2e..eeb3f59 100644 --- a/ports-mgmt/porteasy/src/porteasy.pl +++ b/ports-mgmt/porteasy/src/porteasy.pl @@ -33,7 +33,7 @@ use strict; use Fcntl; use Getopt::Long; -my $VERSION = "2.4"; +my $VERSION = "2.5"; my $COPYRIGHT = "Copyright (c) 2000 Dag-Erling Smørgrav. All rights reserved."; # Constants @@ -550,11 +550,14 @@ sub find_dependencies($) { or bsd::errx(1, "failed to obtain dependency list"); %depends = (); foreach $item (split(' ', $dependvars)) { - if ($item !~ m|^([^:]+):$portsdir/([^/:]+/[^/:]+)/?(:[^:]+)?$|) { + if ($item !~ m|^(?:([^:]+):)?$portsdir/([^/:]+/[^/:]+)/?(:[^:]+)?$|) { bsd::warnx("invalid dependency: %s", $item); + next; } ($lhs, $rhs) = ($1, $2); - if ($exclude) { + # XXX this isn't quite right; lhs-less dependencies should be + # XXX checked against /var/db/pkg or something. + if ($exclude && defined($lhs)) { if ($have_dep{$rhs}) { next; } |