aboutsummaryrefslogtreecommitdiffstats
path: root/URPM/Resolve.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-04-24 19:11:39 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-04-24 19:11:39 +0000
commite6c464eae1294ece368e20952acfba8587c23db7 (patch)
treec8067e342dd05389b3d98e04a8bd7743b3702c3f /URPM/Resolve.pm
parentd314f11b331c1035b4a9102ece80d03941b58a44 (diff)
downloadperl-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
re-sync after the big svn loss1.581.571.561.55
Diffstat (limited to 'URPM/Resolve.pm')
-rw-r--r--URPM/Resolve.pm17
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 },
+ );
}
}
}