diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-01-03 00:55:38 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-01-03 00:55:38 -0800 |
commit | 5fb13528549d4b47bd807b3824405a231e596549 (patch) | |
tree | 77c8f8b20fd61a2e6a1d27236abb942b45b37d66 | |
parent | 029ec2b89b7d55c68d89b6dff3dbe5539825e71a (diff) | |
download | portage-5fb13528549d4b47bd807b3824405a231e596549.tar.gz portage-5fb13528549d4b47bd807b3824405a231e596549.tar.bz2 portage-5fb13528549d4b47bd807b3824405a231e596549.zip |
depgraph: fix bug #350254 and test it
-rw-r--r-- | pym/_emerge/depgraph.py | 3 | ||||
-rw-r--r-- | pym/portage/tests/resolver/test_multirepo.py | 16 |
2 files changed, 15 insertions, 4 deletions
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( |