diff options
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 }, + ); } } } |