summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-24 18:33:46 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-24 18:33:46 +0000
commit058a5fc1b8c757baf2981b0d21191950792a56f6 (patch)
tree0faeb9f896070c6eedbbf8a4604da9b162934c01 /pym
parenta50fb2fbedb2589a41a347eb6f116fc13b82ba5e (diff)
downloadportage-058a5fc1b8c757baf2981b0d21191950792a56f6.tar.gz
portage-058a5fc1b8c757baf2981b0d21191950792a56f6.tar.bz2
portage-058a5fc1b8c757baf2981b0d21191950792a56f6.zip
get ACCEPT_KEYWORDS from the env in gvisible() to properly handle negated values (bug #139600) (trunk r6981 and r6987)
svn path=/main/branches/2.1.2/; revision=6998
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 9a5ec82f7..d517fa37c 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6350,6 +6350,13 @@ class portdbapi(dbapi):
accept_keywords = self.mysettings["ACCEPT_KEYWORDS"].split()
pkgdict = self.mysettings.pkeywordsdict
aux_keys = ["KEYWORDS", "EAPI", "SLOT"]
+
+ # Hack: Need to check the env directly here as otherwise stacking
+ # doesn't work properly as negative values are lost in the config
+ # object (bug #139600)
+ egroups = self.mysettings.configdict["backupenv"].get(
+ "ACCEPT_KEYWORDS", "").split()
+
for mycpv in mylist:
try:
keys, eapi, slot = self.aux_get(mycpv, aux_keys)
@@ -6371,6 +6378,7 @@ class portdbapi(dbapi):
matches = match_to_list(cpv_slot, pkgdict[cp].keys())
for atom in matches:
pgroups.extend(pkgdict[cp][atom])
+ pgroups.extend(egroups)
if matches:
inc_pgroups = []
for x in pgroups: