summaryrefslogtreecommitdiff
path: root/ports-mgmt
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2002-07-16 22:54:05 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2002-07-16 22:54:05 +0000
commit5cd868dff5f020afa6338f827fc326d4102094f6 (patch)
tree49c1559de3018dae85814072de4aaa93ce497854 /ports-mgmt
parentFix instance where wmcliphist segfaults when reading the history file and (diff)
Fix a bug in the version comparison logic (epochs weren't being compared
properly), and update dependencies for -f as well as for -l and -u.
Notes
Notes: svn path=/head/; revision=63107
Diffstat (limited to 'ports-mgmt')
-rw-r--r--ports-mgmt/porteasy/Makefile2
-rw-r--r--ports-mgmt/porteasy/src/porteasy.pl17
2 files changed, 12 insertions, 7 deletions
diff --git a/ports-mgmt/porteasy/Makefile b/ports-mgmt/porteasy/Makefile
index 44e86da37c11..8518d8215ea9 100644
--- a/ports-mgmt/porteasy/Makefile
+++ b/ports-mgmt/porteasy/Makefile
@@ -8,7 +8,7 @@
#
PORTNAME= porteasy
-PORTVERSION= 2.7.2
+PORTVERSION= 2.7.3
CATEGORIES= misc
MASTER_SITES= # none
DISTFILES= # none
diff --git a/ports-mgmt/porteasy/src/porteasy.pl b/ports-mgmt/porteasy/src/porteasy.pl
index 6fd4eced5205..199f9f5f214b 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.2";
+my $VERSION = "2.7.3";
my $COPYRIGHT = "Copyright (c) 2000-2002 Dag-Erling Smørgrav. " .
"All rights reserved.";
@@ -813,14 +813,19 @@ sub cmp_version($$) {
my $inst = shift; # Installed package
my $port = shift; # Origin port
+ my $tree; # Version in tree
+
# Shortcut
- if ($inst eq $pkgname{$port}) {
+ if (($tree = $pkgname{$port}) eq $inst) {
return '=';
}
# Compare port epochs
- if ((($a) = ($inst =~ m/,(\d+)$/)) ||
- (($b) = ($pkgname{$port} =~ m/,(\d+)$/))) {
+ $inst =~ s/,(\d+)$//
+ and $a = $1;
+ $tree =~ s/,(\d+)$//
+ and $b = $1;
+ if (defined($a) || defined($b)) {
$a = int($a || 0);
$b = int($b || 0);
if ($a != $b) {
@@ -830,7 +835,7 @@ sub cmp_version($$) {
# Split it into components
my @a = split(/[\._-]/, $inst);
- my @b = split(/[\._-]/, $pkgname{$port});
+ my @b = split(/[\._-]/, $tree);
# Compare the components one by one
while (@a && @b) {
@@ -1101,7 +1106,7 @@ MAIN:{
}
# Step 3: update port directories and discover dependencies
- $need_deps = ($update || $list);
+ $need_deps = ($update || $fetch || $list);
update_ports_tree(keys(%reqd));
# Step 4: deselect ports which are already installed