From 80b65796e7fa82b87377da56df01609d580adff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Mon, 5 Jul 2004 11:48:35 +0000 Subject: [PATCH] Perform plist substitution for -L. Fix bug in origin determination. --- misc/porteasy/Makefile | 2 +- misc/porteasy/src/porteasy.pl | 11 +++++++++-- ports-mgmt/porteasy/Makefile | 2 +- ports-mgmt/porteasy/src/porteasy.pl | 11 +++++++++-- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/misc/porteasy/Makefile b/misc/porteasy/Makefile index 7f9415ea66f4..f51b03d0e15f 100644 --- a/misc/porteasy/Makefile +++ b/misc/porteasy/Makefile @@ -8,7 +8,7 @@ # PORTNAME= porteasy -PORTVERSION= 2.7.15 +PORTVERSION= 2.7.16 CATEGORIES= misc MASTER_SITES= # none DISTFILES= # none diff --git a/misc/porteasy/src/porteasy.pl b/misc/porteasy/src/porteasy.pl index 1dfbf82ad467..ecbb90528428 100644 --- a/misc/porteasy/src/porteasy.pl +++ b/misc/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 () { chomp(); + s/\%\%(\w+)\%\%/$plist_sub{$1}/g; $file = undef; if (m/^[^\@]/) { $file = $_; diff --git a/ports-mgmt/porteasy/Makefile b/ports-mgmt/porteasy/Makefile index 7f9415ea66f4..f51b03d0e15f 100644 --- a/ports-mgmt/porteasy/Makefile +++ b/ports-mgmt/porteasy/Makefile @@ -8,7 +8,7 @@ # PORTNAME= porteasy -PORTVERSION= 2.7.15 +PORTVERSION= 2.7.16 CATEGORIES= misc MASTER_SITES= # none DISTFILES= # none 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 () { chomp(); + s/\%\%(\w+)\%\%/$plist_sub{$1}/g; $file = undef; if (m/^[^\@]/) { $file = $_;