aboutsummaryrefslogtreecommitdiffstats
path: root/URPM/Resolve.pm
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2018-06-24 22:03:48 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2018-06-25 14:00:23 +0200
commitda6cfc1161f8bde5379fafd58296bd0a1f96698a (patch)
tree59820522f0f0d04c0a6a9093c5d4721efb13527f /URPM/Resolve.pm
parent9fd0d3865d452a1e2973f78a8fd76b72b1a7bab7 (diff)
downloadperl-URPM-da6cfc1161f8bde5379fafd58296bd0a1f96698a.tar
perl-URPM-da6cfc1161f8bde5379fafd58296bd0a1f96698a.tar.gz
perl-URPM-da6cfc1161f8bde5379fafd58296bd0a1f96698a.tar.bz2
perl-URPM-da6cfc1161f8bde5379fafd58296bd0a1f96698a.tar.xz
perl-URPM-da6cfc1161f8bde5379fafd58296bd0a1f96698a.zip
Don't select an obsolete package to resolve dependencies/conflicts (mga#23223)
Diffstat (limited to 'URPM/Resolve.pm')
-rw-r--r--URPM/Resolve.pm4
1 files changed, 4 insertions, 0 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 7b3b1e3..55f5c64 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -1502,6 +1502,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);
@@ -1559,6 +1561,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);