summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-01-09 12:57:54 +0000
committerFrancois Pons <fpons@mandriva.com>2002-01-09 12:57:54 +0000
commit6b72aa3f68e6ed0023720defac341273a56fdc6a (patch)
treee2e6f0058edc4491dd21f8ad079c4979021b4f5d /perl-install
parent8e1302329799723ad368b9f662ba8111f67ea516 (diff)
downloaddrakx-6b72aa3f68e6ed0023720defac341273a56fdc6a.tar
drakx-6b72aa3f68e6ed0023720defac341273a56fdc6a.tar.gz
drakx-6b72aa3f68e6ed0023720defac341273a56fdc6a.tar.bz2
drakx-6b72aa3f68e6ed0023720defac341273a56fdc6a.tar.xz
drakx-6b72aa3f68e6ed0023720defac341273a56fdc6a.zip
use rpm version comparison function.
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/pkgs.pm18
1 files changed, 10 insertions, 8 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index e8dd9fac2..c02e7f3e7 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -928,15 +928,17 @@ sub done_db {
}
sub versionCompare($$) {
- my ($a, $b) = @_;
- local $_;
-
- while ($a || $b) {
- my ($sb, $sa) = map { $1 if $a =~ /^\W*\d/ ? s/^\W*0*(\d+)// : s/^\W*(\D*)// } ($b, $a);
- $_ = ($sa =~ /^\d/ || $sb =~ /^\d/) && length($sa) <=> length($sb) || $sa cmp $sb and return $_ || 0;
- $sa eq '' && $sb eq '' and return $a cmp $b || 0;
- }
+ goto &c::rpmvercmp;
}
+#- old code using perl version, still broken on some case.
+#- my ($a, $b) = @_;
+#- local $_;
+#-
+#- while ($a || $b) {
+#- my ($sb, $sa) = map { $1 if $a =~ /^\W*\d/ ? s/^\W*0*(\d+)// : s/^\W*(\D*)// } ($b, $a);
+#- $_ = ($sa =~ /^\d/ || $sb =~ /^\d/) && length($sa) <=> length($sb) || $sa cmp $sb and return $_ || 0;
+#- $sa eq '' && $sb eq '' and return $a cmp $b || 0;
+#- }
sub selectPackagesAlreadyInstalled {
my ($packages, $prefix) = @_;