diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2007-04-24 19:11:39 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2007-04-24 19:11:39 +0000 |
commit | e6c464eae1294ece368e20952acfba8587c23db7 (patch) | |
tree | c8067e342dd05389b3d98e04a8bd7743b3702c3f /URPM/Resolve.pm | |
parent | d314f11b331c1035b4a9102ece80d03941b58a44 (diff) | |
download | perl-URPM-1.57.tar perl-URPM-1.57.tar.gz perl-URPM-1.57.tar.bz2 perl-URPM-1.57.tar.xz perl-URPM-1.57.zip |
Diffstat (limited to 'URPM/Resolve.pm')
-rw-r--r-- | URPM/Resolve.pm | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index cb458a4..7aeb0d1 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -714,11 +714,18 @@ sub resolve_requested { push @keep, scalar $p->fullname; } else { #- no package has been found, we need to remove the package examined. - delete $state->{rejected}{$p->fullname}; #- force resolution (#12696, maybe #11885) - $urpm->resolve_rejected($db, $state, $p, - removed => 1, unsatisfied => \@properties, - from => scalar $pkg->fullname, - why => { conflicts => scalar $pkg->fullname }); + my $obsoleted; + #- force resolution (#12696, maybe #11885) + if (my $prev = delete $state->{rejected}{$p->fullname}) { + $obsoleted = $prev->{obsoleted}; + } + $urpm->resolve_rejected( + $db, $state, $p, + ($obsoleted ? 'obsoleted' : 'removed') => 1, + unsatisfied => \@properties, + from => scalar $pkg->fullname, + why => { conflicts => scalar $pkg->fullname }, + ); } } } |