diff options
author | des <des@FreeBSD.org> | 2002-07-17 06:54:05 +0800 |
---|---|---|
committer | des <des@FreeBSD.org> | 2002-07-17 06:54:05 +0800 |
commit | bca1b6bf3404cbded61e2f828ed176acde5a29f3 (patch) | |
tree | fcd418c2dc676c88b2609a07707e5bedf44f775c /misc/porteasy | |
parent | 572242e51f02f8f4a80420bd7855047283ab7987 (diff) | |
download | freebsd-ports-gnome-bca1b6bf3404cbded61e2f828ed176acde5a29f3.tar.gz freebsd-ports-gnome-bca1b6bf3404cbded61e2f828ed176acde5a29f3.tar.zst freebsd-ports-gnome-bca1b6bf3404cbded61e2f828ed176acde5a29f3.zip |
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.
Diffstat (limited to 'misc/porteasy')
-rw-r--r-- | misc/porteasy/Makefile | 2 | ||||
-rw-r--r-- | misc/porteasy/src/porteasy.pl | 17 |
2 files changed, 12 insertions, 7 deletions
diff --git a/misc/porteasy/Makefile b/misc/porteasy/Makefile index 44e86da37c11..8518d8215ea9 100644 --- a/misc/porteasy/Makefile +++ b/misc/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/misc/porteasy/src/porteasy.pl b/misc/porteasy/src/porteasy.pl index 6fd4eced5205..199f9f5f214b 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.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 |