public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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 ++--
 pym/portage/tests/dep/testExtractAffectingUSE.py |    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 = [[]]

diff --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