aboutsummaryrefslogtreecommitdiffstats
path: root/URPM
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-07-02 15:11:24 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-07-02 15:11:24 +0000
commit58b997826f660b99806ea10823229af5c7a7fa6a (patch)
tree623cde613c8dd564a13e18f2d0e64960c9e091d1 /URPM
parent4d3ebe2ef621c3796fe0689a52ee5f1b2a138b4c (diff)
downloadperl-URPM-58b997826f660b99806ea10823229af5c7a7fa6a.tar
perl-URPM-58b997826f660b99806ea10823229af5c7a7fa6a.tar.gz
perl-URPM-58b997826f660b99806ea10823229af5c7a7fa6a.tar.bz2
perl-URPM-58b997826f660b99806ea10823229af5c7a7fa6a.tar.xz
perl-URPM-58b997826f660b99806ea10823229af5c7a7fa6a.zip
- fix --auto-select skipping some packages because of other packages providing
a more recent version, but no obsolete between those packages. the fix is to revert commit from Aug 2002: "fixed propable old package (according provides) requested by request_packages_to_upgrade." hopefully this change won't break too much... for the record, a few issues: - skipping java-1.5.0-gcj-1.5.0.0-14.7mdv2008.0.i586 since java-1.7.0-icedtea-1.7.0.0-1.3mdv2008.0.i586 provides a more recent version of jre (1.7.0 vs 1.5.0) - skipping emacs-common-22.1-2mdv2008.0.i586 since gnus-emacs-5.10.8-1mdv2007.0.noarch provides a more recent vers whereas java-1.5.0-gcj-1.5.0.0-14.6mdv and emacs-common-22.1-1mdv are installed
Diffstat (limited to 'URPM')
-rw-r--r--URPM/Resolve.pm25
1 files changed, 1 insertions, 24 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 131b6fc..ac68af1 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -1063,7 +1063,7 @@ sub request_packages_to_upgrade {
sub _request_packages_to_upgrade_1 {
my ($urpm, %options) = @_;
- my (%provides, %names, %skip);
+ my (%names, %skip);
my @idlist = $urpm->build_listid($options{start}, $options{end}, $options{idlist}) or return;
@@ -1071,29 +1071,6 @@ sub _request_packages_to_upgrade_1 {
foreach my $pkg (@{$urpm->{depslist}}[@idlist]) {
if ($pkg->is_arch_compat) {
- foreach ($pkg->provides) {
- if (my ($n, $evr) = /^([^\s\[]*)(?:\[\*\])?\[?=+\s*([^\s\]]*)/) {
- if ($provides{$n}) {
- foreach ($provides{$n}->provides) {
- if (my ($pn, $pevr) = /^([^\s\[]*)(?:\[\*\])?\[?=+\s*([^\s\]]*)/) {
- $pn eq $n or next;
- if (ranges_overlap("< $evr", "== $pevr")) {
- #- this package looks like too old ?
- if ($provides{$n}->name ne $pkg->name) {
- $urpm->{debug_URPM}("skipping " . $provides{$n}->fullname . " since " . $pkg->fullname . " provides a more recent version of $n ($evr vs $pevr)") if $urpm->{debug_URPM};
- $skip{$provides{$n}->name} = undef;
- }
- $provides{$n} = $pkg;
- }
- last;
- }
- }
- } else {
- $provides{$n} = $pkg;
- }
- }
- }
-
my $p = $names{$pkg->name};
!$p || $pkg->compare_pkg($p) > 0 and $names{$pkg->name} = $pkg;
}