aboutsummaryrefslogtreecommitdiffstats
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
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
-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};