Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r9542 - main/branches/2.1.2/pym
Date: Fri, 28 Mar 2008 11:30:29
Message-Id: E1JfCmw-0006Ug-Jh@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-03-28 11:30:25 +0000 (Fri, 28 Mar 2008)
3 New Revision: 9542
4
5 Modified:
6 main/branches/2.1.2/pym/portage.py
7 Log:
8 Bug #200385 - Stack use flags from package.*use* files for multiple
9 matching atoms. (trunk r9408 and r9409:9415)
10
11
12 Modified: main/branches/2.1.2/pym/portage.py
13 ===================================================================
14 --- main/branches/2.1.2/pym/portage.py 2008-03-28 11:16:33 UTC (rev 9541)
15 +++ main/branches/2.1.2/pym/portage.py 2008-03-28 11:30:25 UTC (rev 9542)
16 @@ -1899,37 +1899,64 @@
17 self.configdict["pkginternal"]["USE"] = pkginternaluse
18 has_changed = True
19 defaults = []
20 + pos = 0
21 for i in xrange(len(self.profiles)):
22 - defaults.append(self.make_defaults_use[i])
23 cpdict = self.pkgprofileuse[i].get(cp, None)
24 if cpdict:
25 - best_match = best_match_to_list(cpv_slot, cpdict.keys())
26 - if best_match:
27 - defaults.append(cpdict[best_match])
28 + keys = cpdict.keys()
29 + while keys:
30 + bestmatch = best_match_to_list(cpv_slot, keys)
31 + if bestmatch:
32 + keys.remove(bestmatch)
33 + defaults.insert(pos, cpdict[bestmatch])
34 + else:
35 + break
36 + del keys
37 + if self.make_defaults_use[i]:
38 + defaults.insert(pos, self.make_defaults_use[i])
39 + pos = len(defaults)
40 defaults = " ".join(defaults)
41 if defaults != self.configdict["defaults"].get("USE",""):
42 self.configdict["defaults"]["USE"] = defaults
43 has_changed = True
44 useforce = []
45 + pos = 0
46 for i in xrange(len(self.profiles)):
47 - useforce.append(self.useforce_list[i])
48 cpdict = self.puseforce_list[i].get(cp, None)
49 if cpdict:
50 - best_match = best_match_to_list(cpv_slot, cpdict.keys())
51 - if best_match:
52 - useforce.append(cpdict[best_match])
53 + keys = cpdict.keys()
54 + while keys:
55 + best_match = best_match_to_list(cpv_slot, keys)
56 + if best_match:
57 + keys.remove(best_match)
58 + useforce.insert(pos, cpdict[best_match])
59 + else:
60 + break
61 + del keys
62 + if self.useforce_list[i]:
63 + useforce.insert(pos, self.useforce_list[i])
64 + pos = len(useforce)
65 useforce = set(stack_lists(useforce, incremental=True))
66 if useforce != self.useforce:
67 self.useforce = useforce
68 has_changed = True
69 usemask = []
70 + pos = 0
71 for i in xrange(len(self.profiles)):
72 - usemask.append(self.usemask_list[i])
73 cpdict = self.pusemask_list[i].get(cp, None)
74 if cpdict:
75 - best_match = best_match_to_list(cpv_slot, cpdict.keys())
76 - if best_match:
77 - usemask.append(cpdict[best_match])
78 + keys = cpdict.keys()
79 + while keys:
80 + best_match = best_match_to_list(cpv_slot, keys)
81 + if best_match:
82 + keys.remove(best_match)
83 + usemask.insert(pos, cpdict[best_match])
84 + else:
85 + break
86 + del keys
87 + if self.usemask_list[i]:
88 + usemask.insert(pos, self.usemask_list[i])
89 + pos = len(usemask)
90 usemask = set(stack_lists(usemask, incremental=True))
91 if usemask != self.usemask:
92 self.usemask = usemask
93 @@ -1938,9 +1965,15 @@
94 self.puse = ""
95 cpdict = self.pusedict.get(cp)
96 if cpdict:
97 - self.pusekey = best_match_to_list(cpv_slot, cpdict.keys())
98 - if self.pusekey:
99 - self.puse = " ".join(cpdict[self.pusekey])
100 + keys = cpdict.keys()
101 + while keys:
102 + self.pusekey = best_match_to_list(cpv_slot, keys)
103 + if self.pusekey:
104 + keys.remove(self.pusekey)
105 + self.puse = (" ".join(cpdict[self.pusekey])) + " " + self.puse
106 + else:
107 + break
108 + del keys
109 if oldpuse != self.puse:
110 has_changed = True
111 self.configdict["pkg"]["PKGUSE"] = self.puse[:] # For saving to PUSE file
112
113 --
114 gentoo-commits@l.g.o mailing list