aboutsummaryrefslogtreecommitdiffstats
path: root/URPM/Resolve.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2007-09-28 20:23:16 +0000
committerPascal Rigaux <pixel@mandriva.com>2007-09-28 20:23:16 +0000
commit521bf96a075950392482d401a98e5c18e1472e09 (patch)
tree583f0be010cb875fb5307abdcf26ed56fc0bf109 /URPM/Resolve.pm
parent277e941bfef194a7377251697e1e9b09522c2fb0 (diff)
downloadperl-URPM-521bf96a075950392482d401a98e5c18e1472e09.tar
perl-URPM-521bf96a075950392482d401a98e5c18e1472e09.tar.gz
perl-URPM-521bf96a075950392482d401a98e5c18e1472e09.tar.bz2
perl-URPM-521bf96a075950392482d401a98e5c18e1472e09.tar.xz
perl-URPM-521bf96a075950392482d401a98e5c18e1472e09.zip
- also handle promotion via obsolete for conflicts
Diffstat (limited to 'URPM/Resolve.pm')
-rw-r--r--URPM/Resolve.pm5
1 files changed, 5 insertions, 0 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 0b15eda..85d4bff 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -1111,6 +1111,11 @@ sub _handle_conflict {
my @packages = grep { $_->name eq $p->name } find_candidate_packages_($urpm, $need_deps, $state->{rejected});
@packages = grep { ! $_->provides_overlap($property) } @packages;
+ if (!@packages) {
+ @packages = _find_packages_obsoleting($urpm, $state, $p);
+ @packages = grep { ! $_->provides_overlap($property) } @packages;
+ }
+
if (@packages) {
my $best = join('|', map { $_->id } @packages);
$urpm->{debug_URPM}("promoting " . join('|', map { scalar $_->fullname } @packages) . " because of conflict above") if $urpm->{debug_URPM};