From 58b997826f660b99806ea10823229af5c7a7fa6a Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 2 Jul 2007 15:11:24 +0000 Subject: - 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 --- URPM/Resolve.pm | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) (limited to 'URPM') 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; } -- cgit v1.2.1