* [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/portage/dep/, pym/portage/tests/dep/, pym/_emerge/
@ 2011-06-08 17:24 Zac Medico
0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2011-06-08 17:24 UTC (permalink / raw
To: gentoo-commits
commit: 706dd18b2a2936b0fe6a3bed7e1932eef54f0bd1
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 8 17:24:23 2011 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Jun 8 17:24:23 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=706dd18b
extract_affecting_use: _get_useflag_re(eapi)
This is needed for EAPI="4-python" added in commit
586760f37fb9784327d8447182d49810662f4427.
---
pym/_emerge/depgraph.py | 6 ++++--
pym/_emerge/resolver/circular_dependency.py | 3 ++-
pym/portage/dep/__init__.py | 4 ++--
| 4 ++--
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 39179a4..b024b88 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2618,7 +2618,8 @@ class depgraph(object):
for dep_str in "DEPEND", "RDEPEND", "PDEPEND":
try:
affecting_use.update(extract_affecting_use(
- node.metadata[dep_str], target_atom))
+ node.metadata[dep_str], target_atom,
+ eapi=node.metadata["EAPI"]))
except InvalidDependString:
if not node.installed:
raise
@@ -2662,7 +2663,8 @@ class depgraph(object):
affecting_use = set()
for dep_str in dep_strings:
- affecting_use.update(extract_affecting_use(dep_str, atom))
+ affecting_use.update(extract_affecting_use(dep_str, atom,
+ eapi=node.metadata["EAPI"]))
#Don't show flags as 'affecting' if the user can't change them,
affecting_use.difference_update(node.use.mask, \
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py
index e89fd51..08dd5c5 100644
--- a/pym/_emerge/resolver/circular_dependency.py
+++ b/pym/_emerge/resolver/circular_dependency.py
@@ -112,7 +112,8 @@ class circular_dependency_handler(object):
parent_atom = atom.unevaluated_atom
break
- affecting_use = extract_affecting_use(dep, parent_atom)
+ affecting_use = extract_affecting_use(dep, parent_atom,
+ eapi=parent.metadata["EAPI"])
# Make sure we don't want to change a flag that is
# a) in use.mask or use.force
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py
index 9dfb125..8332a05 100644
--- a/pym/portage/dep/__init__.py
+++ b/pym/portage/dep/__init__.py
@@ -2291,7 +2291,7 @@ def check_required_use(required_use, use, iuse_match):
tree._satisfied = False not in stack[0]
return tree
-def extract_affecting_use(mystr, atom):
+def extract_affecting_use(mystr, atom, eapi=None):
"""
Take a dep string and an atom and return the use flags
that decide if the given atom is in effect.
@@ -2308,7 +2308,7 @@ def extract_affecting_use(mystr, atom):
@rtype: Tuple of two lists of strings
@return: List of use flags that need to be enabled, List of use flag that need to be disabled
"""
- useflag_re = _get_useflag_re(None)
+ useflag_re = _get_useflag_re(eapi)
mysplit = mystr.split()
level = 0
stack = [[]]
--git a/pym/portage/tests/dep/testExtractAffectingUSE.py b/pym/portage/tests/dep/testExtractAffectingUSE.py
index 029cc6e..026a552 100644
--- a/pym/portage/tests/dep/testExtractAffectingUSE.py
+++ b/pym/portage/tests/dep/testExtractAffectingUSE.py
@@ -63,7 +63,7 @@ class TestExtractAffectingUSE(TestCase):
for dep, atom, expected in test_cases:
expected = set(expected)
- result = extract_affecting_use(dep, atom)
+ result = extract_affecting_use(dep, atom, eapi="0")
fail_msg = "dep: " + dep + ", atom: " + atom + ", got: " + \
" ".join(sorted(result)) + ", expected: " + " ".join(sorted(expected))
self.assertEqual(result, expected, fail_msg)
@@ -72,4 +72,4 @@ class TestExtractAffectingUSE(TestCase):
fail_msg = "dep: " + dep + ", atom: " + atom + ", got: " + \
" ".join(sorted(result)) + ", expected: " + " ".join(sorted(expected))
self.assertRaisesMsg(fail_msg, \
- InvalidDependString, extract_affecting_use, dep, atom)
+ InvalidDependString, extract_affecting_use, dep, atom, eapi="0")
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-06-08 17:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-08 17:24 [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/, pym/portage/dep/, pym/portage/tests/dep/, pym/_emerge/ Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox