1 |
Author: zmedico |
2 |
Date: 2008-05-27 06:08:12 +0000 (Tue, 27 May 2008) |
3 |
New Revision: 10448 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Use new Package.use and iuse attributes to avoid extra split() calls. |
9 |
|
10 |
|
11 |
Modified: main/trunk/pym/_emerge/__init__.py |
12 |
=================================================================== |
13 |
--- main/trunk/pym/_emerge/__init__.py 2008-05-27 05:45:48 UTC (rev 10447) |
14 |
+++ main/trunk/pym/_emerge/__init__.py 2008-05-27 06:08:12 UTC (rev 10448) |
15 |
@@ -1630,14 +1630,13 @@ |
16 |
if cached_blockers is not None: |
17 |
blocker_atoms = cached_blockers.atoms |
18 |
else: |
19 |
- myuse = inst_pkg.metadata["USE"].split() |
20 |
# Use aux_get() to trigger FakeVartree global |
21 |
# updates on *DEPEND when appropriate. |
22 |
depstr = " ".join(vardb.aux_get(inst_pkg.cpv, dep_keys)) |
23 |
try: |
24 |
portage.dep._dep_check_strict = False |
25 |
success, atoms = portage.dep_check(depstr, |
26 |
- vardb, settings, myuse=myuse, |
27 |
+ vardb, settings, myuse=pkg.use.enabled, |
28 |
trees=dep_check_trees, myroot=inst_pkg.root) |
29 |
finally: |
30 |
portage.dep._dep_check_strict = True |
31 |
@@ -1672,12 +1671,11 @@ |
32 |
blocking_pkgs.update(blocker_parents.parent_nodes(atom)) |
33 |
|
34 |
# Check for blockers in the other direction. |
35 |
- myuse = new_pkg.metadata["USE"].split() |
36 |
depstr = " ".join(new_pkg.metadata[k] for k in dep_keys) |
37 |
try: |
38 |
portage.dep._dep_check_strict = False |
39 |
success, atoms = portage.dep_check(depstr, |
40 |
- vardb, settings, myuse=myuse, |
41 |
+ vardb, settings, myuse=new_pkg.use.enabled, |
42 |
trees=dep_check_trees, myroot=new_pkg.root) |
43 |
finally: |
44 |
portage.dep._dep_check_strict = True |
45 |
@@ -2346,7 +2344,7 @@ |
46 |
myroot = pkg.root |
47 |
mykey = pkg.cpv |
48 |
metadata = pkg.metadata |
49 |
- myuse = metadata["USE"].split() |
50 |
+ myuse = pkg.use.enabled |
51 |
jbigkey = pkg |
52 |
depth = pkg.depth + 1 |
53 |
|
54 |
@@ -2950,9 +2948,8 @@ |
55 |
missing_use_reasons = [] |
56 |
missing_iuse_reasons = [] |
57 |
for pkg in missing_use: |
58 |
- use = pkg.metadata["USE"].split() |
59 |
- iuse = implicit_iuse.union(x.lstrip("+-") \ |
60 |
- for x in pkg.metadata["IUSE"].split()) |
61 |
+ use = pkg.use.enabled |
62 |
+ iuse = implicit_iuse.union(re.escape(x) for x in pkg.iuse.all) |
63 |
iuse_re = re.compile("^(%s)$" % "|".join(iuse)) |
64 |
missing_iuse = [] |
65 |
for x in atom.use.required: |
66 |
@@ -3179,7 +3176,7 @@ |
67 |
found_available_arg = True |
68 |
|
69 |
if atom.use and not pkg.built: |
70 |
- use = pkg.metadata["USE"].split() |
71 |
+ use = pkg.use.enabled |
72 |
if atom.use.enabled.difference(use): |
73 |
continue |
74 |
if atom.use.disabled.intersection(use): |
75 |
@@ -3216,8 +3213,7 @@ |
76 |
if built and not installed and \ |
77 |
("--newuse" in self.myopts or \ |
78 |
"--reinstall" in self.myopts): |
79 |
- iuses = set(filter_iuse_defaults( |
80 |
- pkg.metadata["IUSE"].split())) |
81 |
+ iuses = pkg.iuse.all |
82 |
old_use = pkg.use.enabled |
83 |
if myeb: |
84 |
pkgsettings.setcpv(myeb) |
85 |
@@ -3229,8 +3225,7 @@ |
86 |
forced_flags.update(pkgsettings.usemask) |
87 |
cur_iuse = iuses |
88 |
if myeb and not usepkgonly: |
89 |
- cur_iuse = set(filter_iuse_defaults( |
90 |
- myeb.metadata["IUSE"].split())) |
91 |
+ cur_iuse = myeb.iuse.all |
92 |
if self._reinstall_for_flags(forced_flags, |
93 |
old_use, iuses, |
94 |
now_use, cur_iuse): |
95 |
@@ -3249,8 +3244,7 @@ |
96 |
old_iuse = set(filter_iuse_defaults( |
97 |
vardb.aux_get(cpv, ["IUSE"])[0].split())) |
98 |
cur_use = pkgsettings["PORTAGE_USE"].split() |
99 |
- cur_iuse = set(filter_iuse_defaults( |
100 |
- pkg.metadata["IUSE"].split())) |
101 |
+ cur_iuse = pkg.iuse.all |
102 |
reinstall_for_flags = \ |
103 |
self._reinstall_for_flags( |
104 |
forced_flags, old_use, old_iuse, |
105 |
@@ -3484,7 +3478,6 @@ |
106 |
if blocker_data: |
107 |
blocker_atoms = blocker_data.atoms |
108 |
else: |
109 |
- myuse = pkg.metadata["USE"].split() |
110 |
# Use aux_get() to trigger FakeVartree global |
111 |
# updates on *DEPEND when appropriate. |
112 |
depstr = " ".join(vardb.aux_get(pkg.cpv, dep_keys)) |
113 |
@@ -3495,7 +3488,7 @@ |
114 |
portage.dep._dep_check_strict = False |
115 |
try: |
116 |
success, atoms = portage.dep_check(depstr, |
117 |
- final_db, pkgsettings, myuse=myuse, |
118 |
+ final_db, pkgsettings, myuse=pkg.use.enabled, |
119 |
trees=self._graph_trees, myroot=myroot) |
120 |
except Exception, e: |
121 |
if isinstance(e, SystemExit): |
122 |
@@ -3797,7 +3790,7 @@ |
123 |
try: |
124 |
portage_rdepend = self._select_atoms_highest_available( |
125 |
running_root, running_portage.metadata["RDEPEND"], |
126 |
- myuse=running_portage.metadata["USE"].split(), |
127 |
+ myuse=running_portage.use.enabled, |
128 |
parent=running_portage, strict=False) |
129 |
except portage.exception.InvalidDependString, e: |
130 |
portage.writemsg("!!! Invalid RDEPEND in " + \ |
131 |
@@ -4604,7 +4597,7 @@ |
132 |
os.path.dirname(ebuild_path))) |
133 |
else: |
134 |
repo_path_real = portdb.getRepositoryPath(repo_name) |
135 |
- pkg_use = metadata["USE"].split() |
136 |
+ pkg_use = list(pkg.use.enabled) |
137 |
try: |
138 |
restrict = flatten(use_reduce(paren_reduce( |
139 |
pkg.metadata["RESTRICT"]), uselist=pkg_use)) |
140 |
@@ -4684,18 +4677,15 @@ |
141 |
|
142 |
if True: |
143 |
# USE flag display |
144 |
- cur_iuse = list(filter_iuse_defaults( |
145 |
- pkg.metadata["IUSE"].split())) |
146 |
- |
147 |
forced_flags = set() |
148 |
- pkgsettings.setcpv(pkg.cpv, mydb=pkg.metadata) # for package.use.{mask,force} |
149 |
+ pkgsettings.setcpv(pkg) # for package.use.{mask,force} |
150 |
forced_flags.update(pkgsettings.useforce) |
151 |
forced_flags.update(pkgsettings.usemask) |
152 |
|
153 |
- cur_iuse = portage.unique_array(cur_iuse) |
154 |
+ cur_iuse = list(pkg.iuse.all) |
155 |
cur_iuse.sort() |
156 |
- cur_use = pkg_use |
157 |
- cur_use = [flag for flag in cur_use if flag in cur_iuse] |
158 |
+ cur_use = [flag for flag in pkg.use.enabled \ |
159 |
+ if flag in cur_iuse] |
160 |
|
161 |
if myoldbest and myinslotlist: |
162 |
previous_cpv = myoldbest[0] |
163 |
|
164 |
-- |
165 |
gentoo-commits@l.g.o mailing list |