From 029ec2b89b7d55c68d89b6dff3dbe5539825e71a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 2 Jan 2011 23:13:56 -0800 Subject: depgraph: prefer highest priority repo more often Prefer the highest priority repo, even when the ebuild from the higher priority repo requires USE adjustments due to USE deps or REQUIRED_USE. This will fix bug #350254. --- pym/_emerge/depgraph.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'pym/_emerge/depgraph.py') diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index badbb506d..f62af31b8 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2877,12 +2877,22 @@ class depgraph(object): # list only contains unbuilt ebuilds since USE can't # be changed for built packages. higher_version_rejected = False + repo_priority = pkg.repo_priority for rejected in packages_with_invalid_use_config: if rejected.cp != pkg.cp: continue if rejected > pkg: higher_version_rejected = True break + if portage.dep.cpvequal(rejected.cpv, pkg.cpv): + # If version is identical then compare + # repo priority (see bug #350254). + rej_repo_priority = rejected.repo_priority + if rej_repo_priority is not None and \ + (repo_priority is None or + rej_repo_priority > repo_priority): + higher_version_rejected = True + break if higher_version_rejected: continue -- cgit v1.2.3-1-g7c22