aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--URPM/Resolve.pm5
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 7405ca3..6f19901 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- also handle promotion via obsolete for conflicts
+
Version 2.05 - 28 September 2007, by Pascal "Pixel" Rigaux
- package promotion must respect strict_arch
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};