aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--URPM/Resolve.pm4
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 546c015..ef55c96 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- Don't select an obsolete package to resolve dependencies/conflicts
+ (mga#23223)
+
Version 5.12.1 - 14 June 2018
- fix finding better pkg (mga#23037)
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 0a51bec..f53f088 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -1503,6 +1503,8 @@ sub _handle_diff_provides {
$_->obsoletes_overlap($p->name . " == " . $p->epoch . ":" . $p->version . "-" . $p->release))
&& (!strict_arch($urpm) || strict_arch_check($p, $_));
} @packages;
+ #- don't promote an obsolete package (mga#23223)
+ @packages = grep { _find_packages_obsoleting($urpm, $state, $_) == 0 } @packages;
if (!@packages) {
@packages = _find_packages_obsoleting($urpm, $state, $p);
@@ -1560,6 +1562,8 @@ sub _handle_conflict {
$p->version . "-" . $p->release;
my @packages = grep { $_->name eq $p->name } find_candidate_packages($urpm, $need_deps, $state->{rejected});
@packages = grep { ! $_->provides_overlap($property) } @packages;
+ #- don't promote an obsolete package (mga#23223)
+ @packages = grep { _find_packages_obsoleting($urpm, $state, $_) == 0 } @packages;
if (!@packages) {
@packages = _find_packages_obsoleting($urpm, $state, $p);