From d8cbd2f92c83461e37d20b3416c54beb1b5c985f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 7 Jun 2007 18:57:04 +0000 Subject: Make all the python code respect USE conditionals in RESTRICT. It's already handled on the bash side since RESTRICT is assigned the value of PORTAGE_RESTRICT. svn path=/main/trunk/; revision=6750 --- pym/emerge/__init__.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'pym/emerge/__init__.py') diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 0db3862f3..f76924723 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -2450,6 +2450,8 @@ class depgraph: depth >= mylist[i+1][1]: del mylist[i] + from portage import flatten + from portage.dep import use_reduce, paren_reduce display_overlays=False # files to fetch list - avoids counting a same file twice # in size display (verbose mode) @@ -2508,9 +2510,17 @@ class depgraph: self.useFlags[myroot][pkg_key] = mydbapi.aux_get( pkg_key, ["USE"])[0].split() + try: + restrict = flatten(use_reduce(paren_reduce( + mydbapi.aux_get(pkg_key, ["RESTRICT"])[0]), + uselist=self.useFlags[myroot][pkg_key])) + except portage.exception.InvalidDependString, e: + restrict = mydbapi.aux_get(pkg_key, ["RESTRICT"])[0] + show_invalid_depstring_notice(x, restrict, str(e)) + del e + sys.exit(1) if "ebuild" == pkg_type and x[3] != "nomerge" and \ - "fetch" in portdb.aux_get( - x[2], ["RESTRICT"])[0].split(): + "fetch" in restrict: fetch = red("F") if ordered: counters.restrict_fetch += 1 -- cgit v1.2.3-1-g7c22