summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2008-03-02 19:08:52 +0000
committerMarius Mauch <genone@gentoo.org>2008-03-02 19:08:52 +0000
commitff87d862b280768dfa60c13d69534ec3a5222be5 (patch)
tree8a934ee4268fb974ea154183393a99a30fd70928
parent9e358bf7d2d2fa7a65d2f283eb2f34b0aca3910d (diff)
downloadportage-ff87d862b280768dfa60c13d69534ec3a5222be5.tar.gz
portage-ff87d862b280768dfa60c13d69534ec3a5222be5.tar.bz2
portage-ff87d862b280768dfa60c13d69534ec3a5222be5.zip
apply r9408 also for profile-base package.*use* files
svn path=/main/trunk/; revision=9410
-rw-r--r--pym/portage/__init__.py36
1 files changed, 27 insertions, 9 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index c10749368..89840231e 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1869,9 +1869,15 @@ class config(object):
defaults.append(self.make_defaults_use[i])
cpdict = self.pkgprofileuse[i].get(cp, None)
if cpdict:
- best_match = best_match_to_list(cpv_slot, cpdict.keys())
- if best_match:
- defaults.append(cpdict[best_match])
+ keys = cpdict.keys()
+ while keys:
+ bestmatch = best_match_to_list(cpv_slot, keys)
+ if bestmatch:
+ keys.remove(bestmatch)
+ defaults.append(cpdict[bestmatch])
+ else:
+ break
+ del keys
defaults = " ".join(defaults)
if defaults != self.configdict["defaults"].get("USE",""):
self.configdict["defaults"]["USE"] = defaults
@@ -1881,9 +1887,15 @@ class config(object):
useforce.append(self.useforce_list[i])
cpdict = self.puseforce_list[i].get(cp, None)
if cpdict:
- best_match = best_match_to_list(cpv_slot, cpdict.keys())
- if best_match:
- useforce.append(cpdict[best_match])
+ keys = cpdict.keys()
+ while keys:
+ best_match = best_match_to_list(cpv_slot, keys)
+ if best_match:
+ keys.remove(best_match)
+ useforce.append(cpdict[best_match])
+ else:
+ break
+ del keys
useforce = set(stack_lists(useforce, incremental=True))
if useforce != self.useforce:
self.useforce = useforce
@@ -1893,9 +1905,15 @@ class config(object):
usemask.append(self.usemask_list[i])
cpdict = self.pusemask_list[i].get(cp, None)
if cpdict:
- best_match = best_match_to_list(cpv_slot, cpdict.keys())
- if best_match:
- usemask.append(cpdict[best_match])
+ keys = cpdict.keys()
+ while keys:
+ best_match = best_match_to_list(cpv_slot, cpdict.keys())
+ if best_match:
+ keys.remove(best_match)
+ usemask.append(cpdict[best_match])
+ else:
+ break
+ del keys
usemask = set(stack_lists(usemask, incremental=True))
if usemask != self.usemask:
self.usemask = usemask