From 5fb13528549d4b47bd807b3824405a231e596549 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 3 Jan 2011 00:55:38 -0800 Subject: depgraph: fix bug #350254 and test it --- pym/_emerge/depgraph.py | 3 ++- pym/portage/tests/resolver/test_multirepo.py | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index f62af31b8..a167b452f 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2871,7 +2871,8 @@ class depgraph(object): modified_use=self._pkg_use_enabled(pkg)): continue - if dont_miss_updates: + if packages_with_invalid_use_config and \ + (not pkg.installed or dont_miss_updates): # Check if a higher version was rejected due to user # USE configuration. The packages_with_invalid_use_config # list only contains unbuilt ebuilds since USE can't diff --git a/pym/portage/tests/resolver/test_multirepo.py b/pym/portage/tests/resolver/test_multirepo.py index e6475762d..23f8f0200 100644 --- a/pym/portage/tests/resolver/test_multirepo.py +++ b/pym/portage/tests/resolver/test_multirepo.py @@ -28,6 +28,9 @@ class MultirepoTestCase(TestCase): "dev-libs/F-1::repo1": { "SLOT": "1" }, "dev-libs/F-1::repo2": { "SLOT": "1" }, + + "dev-libs/G-1::repo1": { "EAPI" : "4", "IUSE":"+x +y", "REQUIRED_USE" : "" }, + "dev-libs/G-1::repo2": { "EAPI" : "4", "IUSE":"+x +y", "REQUIRED_USE" : "^^ ( x y )" }, } sets = { @@ -113,6 +116,14 @@ class MultirepoTestCase(TestCase): success = True, check_repo_names = True, mergelist = ["dev-libs/F-1::repo1"]), + + # Check interaction between repo priority and unsatsisfied + # REQUIRED_USE, for bug #350254. + ResolverPlaygroundTestCase( + ["=dev-libs/G-1"], + check_repo_names = True, + success = False), + ) playground = ResolverPlayground(ebuilds=ebuilds, sets=sets) @@ -206,9 +217,8 @@ class MultirepoTestCase(TestCase): mergelist = ["dev-libs/A-2::repo1", "dev-libs/B-2"]), ResolverPlaygroundTestCase( ["=dev-libs/B-3"], - success = True, - check_repo_names = True, - mergelist = ["dev-libs/A-1", "dev-libs/B-3"]), + success = False, + check_repo_names = True), #package.keywords test ResolverPlaygroundTestCase( -- cgit v1.2.3-1-g7c22