summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2008-03-02 14:45:52 +0000
committerMarius Mauch <genone@gentoo.org>2008-03-02 14:45:52 +0000
commit29275cd759d738d11f43f0aec86a46f86f09bb23 (patch)
tree39e79307bca16932f60ddd32c55e5ccdaf071647
parent14f0cfea20444383e9b0d0bbb9118c093f7f4bb8 (diff)
downloadportage-29275cd759d738d11f43f0aec86a46f86f09bb23.tar.gz
portage-29275cd759d738d11f43f0aec86a46f86f09bb23.tar.bz2
portage-29275cd759d738d11f43f0aec86a46f86f09bb23.zip
stack use flags from package.use for multiple matching atoms (bug #200385)
svn path=/main/trunk/; revision=9408
-rw-r--r--pym/portage/__init__.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index dfbe70fc2..c10749368 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1904,9 +1904,15 @@ class config(object):
self.puse = ""
cpdict = self.pusedict.get(cp)
if cpdict:
- self.pusekey = best_match_to_list(cpv_slot, cpdict.keys())
- if self.pusekey:
- self.puse = " ".join(cpdict[self.pusekey])
+ keys = cpdict.keys()
+ while keys:
+ self.pusekey = best_match_to_list(cpv_slot, keys)
+ if self.pusekey:
+ keys.remove(self.pusekey)
+ self.puse += " "+" ".join(cpdict[self.pusekey])
+ else:
+ break
+ del keys
if oldpuse != self.puse:
has_changed = True
self.configdict["pkg"]["PKGUSE"] = self.puse[:] # For saving to PUSE file