diff options
author | Francois Pons <fpons@mandriva.com> | 2002-04-10 13:29:25 +0000 |
---|---|---|
committer | Francois Pons <fpons@mandriva.com> | 2002-04-10 13:29:25 +0000 |
commit | 12ff778b98e39bbf611a7cf52572978aabf58f82 (patch) | |
tree | 2b8d9f499a881a6d3d36522afb4abd5bf34b9268 | |
parent | 14494b8b340e4b660a4e1acaaf57b76032f97224 (diff) | |
download | urpmi-12ff778b98e39bbf611a7cf52572978aabf58f82.tar urpmi-12ff778b98e39bbf611a7cf52572978aabf58f82.tar.gz urpmi-12ff778b98e39bbf611a7cf52572978aabf58f82.tar.bz2 urpmi-12ff778b98e39bbf611a7cf52572978aabf58f82.tar.xz urpmi-12ff778b98e39bbf611a7cf52572978aabf58f82.zip |
another fixes on urpm library.
-rw-r--r-- | urpm.pm | 25 | ||||
-rw-r--r-- | urpmi.spec | 6 |
2 files changed, 18 insertions, 13 deletions
@@ -1692,7 +1692,6 @@ sub filter_packages_to_upgrade { if (my ($n, $o, $v, $r) = /^([^\s\[]*)(?:\[\*\])?(?:\s+|\[)?([^\s\]]*)\s*([^\s\-\]]*)-?([^\s\]]*)/) { $provides{$_} and next; - print "trying on $n ($o,$v,$r)\n" if /backend/; foreach my $fullname (keys %{$urpm->{params}{provides}{$n} || {}}) { exists $conflicts{$fullname} and next; my $pkg = $urpm->{params}{info}{$fullname}; @@ -1703,17 +1702,19 @@ sub filter_packages_to_upgrade { #- a package with the given name. #- if an obsolete is given, it will be satisfied elsewhere. CHECK TODO if ($n ne $pkg->{name}) { - #- a virtual provides exists with a specific version and maybe release. - #- try to resolve. - foreach (@{$pkg->{provides}}) { - if (my ($pn, $po, $pv, $pr) = - /^([^\s\[]*)(?:\[\*\])?(?:\s+|\[)?([^\s\]]*)\s*([^\s\-\]]*)-?([^\s\]]*)/) { - $pn eq $n or next; - my $no = $po eq '==' ? $o : $po; #- CHECK TODO ? - (!$pv || !$v || eval(rpmtools::version_compare($pv, $v) . $no . 0)) && - (!$pr || !$r || rpmtools::version_compare($pv, $v) != 0 || - eval(rpmtools::version_compare($pr, $r) . $no . 0)) or next; - push @{$pre_choices{$pkg->{name}}}, $pkg; + unless (exists $selected{$n}) { + #- a virtual provides exists with a specific version and maybe release. + #- try to resolve. + foreach (@{$pkg->{provides}}) { + if (my ($pn, $po, $pv, $pr) = + /^([^\s\[]*)(?:\[\*\])?(?:\s+|\[)?([^\s\]]*)\s*([^\s\-\]]*)-?([^\s\]]*)/) { + $pn eq $n or next; + my $no = $po eq '==' ? $o : $po; #- CHECK TODO ? + (!$pv || !$v || eval(rpmtools::version_compare($pv, $v) . $no . 0)) && + (!$pr || !$r || rpmtools::version_compare($pv, $v) != 0 || + eval(rpmtools::version_compare($pr, $r) . $no . 0)) or next; + push @{$pre_choices{$pkg->{name}}}, $pkg; + } } } } else { @@ -2,7 +2,7 @@ Name: urpmi Version: 3.3 -Release: 23mdk +Release: 24mdk License: GPL Source0: %{name}.tar.bz2 Source1: %{name}.logrotate @@ -144,6 +144,10 @@ fi %changelog +* Wed Apr 10 2002 François Pons <fpons@mandrakesoft.com> 3.3-24mdk +- fixed package that need to be upgraded but which is provided + by another package (Mesa and XFree86-libs). + * Wed Apr 10 2002 François Pons <fpons@mandrakesoft.com> 3.3-23mdk - fixed diff_provides on unversioned property not taken into account (libbinutils2 with binutils). |