aboutsummaryrefslogtreecommitdiffstats
path: root/URPM
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2003-09-10 15:11:02 +0000
committerFrancois Pons <fpons@mandriva.com>2003-09-10 15:11:02 +0000
commit73d3d8c885fc38ea44d6dde6e79db29d232ca278 (patch)
treeab252e1c03e047bf4c3e6ca0e17bdb7b67ef8755 /URPM
parent5597c3a552e7fb10b1bbf073d137b705458e4bb9 (diff)
downloadperl-URPM-73d3d8c885fc38ea44d6dde6e79db29d232ca278.tar
perl-URPM-73d3d8c885fc38ea44d6dde6e79db29d232ca278.tar.gz
perl-URPM-73d3d8c885fc38ea44d6dde6e79db29d232ca278.tar.bz2
perl-URPM-73d3d8c885fc38ea44d6dde6e79db29d232ca278.tar.xz
perl-URPM-73d3d8c885fc38ea44d6dde6e79db29d232ca278.zip
diff_provides on obsoleted provides are needed.
Diffstat (limited to 'URPM')
-rw-r--r--URPM/Resolve.pm5
1 files changed, 2 insertions, 3 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 27106d8..48cee86 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -528,10 +528,8 @@ sub resolve_requested {
$rv->{obsoleted} = 1;
}
- #- avoid diff_provides on obsoleted provides.
- my %obsoletes; @obsoletes{$p->obsoletes} = ();
+ #- diff_provides on obsoleted provides are needed.
foreach ($p->provides) {
- exists $obsoletes{$_} and next;
#- check differential provides between obsoleted package and newer one.
if (my ($pn, $ps) = /^([^\s\[]*)(?:\[\*\])?\[?([^\s\]]*\s*[^\s\]]*)/) {
$diff_provides{$pn} = undef;
@@ -648,6 +646,7 @@ sub resolve_requested {
}
if (defined ($dep = shift @diff_provides)) {
my ($n, $pkg) = ($dep->{name}, $dep->{pkg});
+ print STDERR "managing diff_provides on $dep->{name} from ".$dep->{pkg}->fullname."\n";
$db->traverse_tag('whatrequires', [ $n ], sub {
my ($p) = @_;
if (my @l = $urpm->unsatisfied_requires($db, $state, $p, nopromoteepoch => 1, name => $n)) {