aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/porteasy/src/porteasy.pl
diff options
context:
space:
mode:
Diffstat (limited to 'ports-mgmt/porteasy/src/porteasy.pl')
-rw-r--r--ports-mgmt/porteasy/src/porteasy.pl11
1 files changed, 9 insertions, 2 deletions
diff --git a/ports-mgmt/porteasy/src/porteasy.pl b/ports-mgmt/porteasy/src/porteasy.pl
index 1dfbf82ad467..ecbb90528428 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.7.15";
+my $VERSION = "2.7.16";
my $COPYRIGHT = "Copyright (c) 2000-2004 Dag-Erling Smørgrav. " .
"All rights reserved.";
@@ -532,7 +532,8 @@ sub get_installed() {
or bsd::err(1, "can't read database directory");
foreach $port (readdir(DIR)) {
next if ($port eq "." || $port eq ".." || ! -d "$dbdir/$port");
- if (!defined($origin = get_origin($port))) {
+ $origin = get_origin($port);
+ if (!defined($origin) || !$origin) {
bsd::warnx("$port has no known origin");
} else {
if ($installed{$origin}) {
@@ -869,14 +870,20 @@ sub show_port_plist($) {
local *FILE; # File handle
my $file; # File name
my %files; # Files to list
+ my %plist_sub; # Substitution list
my $prefix; # Prefix
+ foreach (split(' ', capture(\&make, ($port, "-VPLIST_SUB")))) {
+ next unless m/^(\w+)=\"?(.*?)\"?$/;
+ $plist_sub{$1} = $2;
+ }
$prefix = capture(\&make, ($port, "-VPREFIX"));
chomp($prefix);
sysopen(FILE, find_port_file($port, "pkg-plist"), O_RDONLY)
or bsd::err(1, "can't read packing list for $port");
while (<FILE>) {
chomp();
+ s/\%\%(\w+)\%\%/$plist_sub{$1}/g;
$file = undef;
if (m/^[^\@]/) {
$file = $_;