diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2018-06-24 22:03:48 +0100 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2018-06-25 14:04:19 +0200 |
commit | b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c (patch) | |
tree | 7344e09e30cf31777708047917215afe69be6787 | |
parent | 953a3c255ec6aa9f43cfb41826bfe3219e3e5d33 (diff) | |
download | perl-URPM-b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c.tar perl-URPM-b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c.tar.gz perl-URPM-b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c.tar.bz2 perl-URPM-b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c.tar.xz perl-URPM-b8adcc71bab4ad3cdbcd9d3093f8ba2e5643b27c.zip |
Don't select an obsolete package to resolve dependencies/conflicts (mga#23223)
(cherry picked from commit da6cfc1161f8bde5379fafd58296bd0a1f96698a)
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | URPM/Resolve.pm | 4 |
2 files changed, 7 insertions, 0 deletions
@@ -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); |