1 |
commit: 8fa262d62b885d5cd8251faa018695022311872a |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Nov 27 04:37:41 2012 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Nov 27 04:37:41 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8fa262d6 |
7 |
|
8 |
Rename Package.metadata to _metadata. |
9 |
|
10 |
The raw metadata is considered a private low-level internal. This |
11 |
makes the Package class consistent with the _pkg_str class. |
12 |
|
13 |
--- |
14 |
bin/repoman | 4 +- |
15 |
pym/_emerge/BlockerDB.py | 2 +- |
16 |
pym/_emerge/EbuildBuild.py | 4 +- |
17 |
pym/_emerge/Package.py | 60 +++++++++-------- |
18 |
pym/_emerge/PackageVirtualDbapi.py | 4 +- |
19 |
pym/_emerge/Scheduler.py | 4 +- |
20 |
pym/_emerge/actions.py | 8 +- |
21 |
pym/_emerge/depgraph.py | 84 ++++++++++++------------ |
22 |
pym/_emerge/resolver/circular_dependency.py | 8 +- |
23 |
pym/_emerge/resolver/output.py | 4 +- |
24 |
pym/_emerge/resolver/slot_collision.py | 2 +- |
25 |
pym/portage/_sets/base.py | 4 +- |
26 |
pym/portage/dep/_slot_operator.py | 2 +- |
27 |
pym/portage/dep/dep_check.py | 2 +- |
28 |
pym/portage/package/ebuild/config.py | 2 +- |
29 |
pym/portage/package/ebuild/doebuild.py | 6 +- |
30 |
pym/portage/package/ebuild/getmaskingstatus.py | 2 +- |
31 |
17 files changed, 103 insertions(+), 99 deletions(-) |
32 |
|
33 |
diff --git a/bin/repoman b/bin/repoman |
34 |
index 7ecdc6d..a38ffe1 100755 |
35 |
--- a/bin/repoman |
36 |
+++ b/bin/repoman |
37 |
@@ -1753,7 +1753,7 @@ for x in effective_scanlist: |
38 |
fails[k].append("%s: %s" % (relative_path, msg)) |
39 |
continue |
40 |
|
41 |
- myaux = pkg.metadata |
42 |
+ myaux = pkg._metadata |
43 |
eapi = myaux["EAPI"] |
44 |
inherited = pkg.inherited |
45 |
live_ebuild = live_eclasses.intersection(inherited) |
46 |
@@ -2174,7 +2174,7 @@ for x in effective_scanlist: |
47 |
if ismasked: |
48 |
if not have_pmasked: |
49 |
have_pmasked = bool(dep_settings._getMaskAtom( |
50 |
- pkg.cpv, pkg.metadata)) |
51 |
+ pkg.cpv, pkg._metadata)) |
52 |
if options.ignore_masked: |
53 |
continue |
54 |
#we are testing deps for a masked package; give it some lee-way |
55 |
|
56 |
diff --git a/pym/_emerge/BlockerDB.py b/pym/_emerge/BlockerDB.py |
57 |
index ce8806d..8bb8f5f 100644 |
58 |
--- a/pym/_emerge/BlockerDB.py |
59 |
+++ b/pym/_emerge/BlockerDB.py |
60 |
@@ -92,7 +92,7 @@ class BlockerDB(object): |
61 |
blocking_pkgs.update(blocker_parents.parent_nodes(atom)) |
62 |
|
63 |
# Check for blockers in the other direction. |
64 |
- depstr = " ".join(new_pkg.metadata[k] for k in dep_keys) |
65 |
+ depstr = " ".join(new_pkg._metadata[k] for k in dep_keys) |
66 |
success, atoms = portage.dep_check(depstr, |
67 |
vardb, settings, myuse=new_pkg.use.enabled, |
68 |
trees=dep_check_trees, myroot=new_pkg.root) |
69 |
|
70 |
diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py |
71 |
index 784a3e2..2da09e7 100644 |
72 |
--- a/pym/_emerge/EbuildBuild.py |
73 |
+++ b/pym/_emerge/EbuildBuild.py |
74 |
@@ -260,8 +260,8 @@ class EbuildBuild(CompositeTask): |
75 |
# to be displayed for problematic packages even though they do |
76 |
# not set RESTRICT=fetch (bug #336499). |
77 |
|
78 |
- if 'fetch' not in self.pkg.metadata.restrict and \ |
79 |
- 'nofetch' not in self.pkg.metadata.defined_phases: |
80 |
+ if 'fetch' not in self.pkg._metadata.restrict and \ |
81 |
+ 'nofetch' not in self.pkg._metadata.defined_phases: |
82 |
self._unlock_builddir() |
83 |
self.wait() |
84 |
return |
85 |
|
86 |
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py |
87 |
index f73fe82..7950ffb 100644 |
88 |
--- a/pym/_emerge/Package.py |
89 |
+++ b/pym/_emerge/Package.py |
90 |
@@ -3,6 +3,8 @@ |
91 |
|
92 |
import sys |
93 |
from itertools import chain |
94 |
+import warnings |
95 |
+ |
96 |
import portage |
97 |
from portage import _encodings, _unicode_decode, _unicode_encode |
98 |
from portage.cache.mappings import slot_dict_class |
99 |
@@ -26,12 +28,12 @@ class Package(Task): |
100 |
|
101 |
__hash__ = Task.__hash__ |
102 |
__slots__ = ("built", "cpv", "depth", |
103 |
- "installed", "metadata", "onlydeps", "operation", |
104 |
+ "installed", "onlydeps", "operation", |
105 |
"root_config", "type_name", |
106 |
"category", "counter", "cp", "cpv_split", |
107 |
"inherited", "iuse", "mtime", |
108 |
"pf", "root", "slot", "sub_slot", "slot_atom", "version") + \ |
109 |
- ("_invalid", "_raw_metadata", "_masks", "_use", |
110 |
+ ("_invalid", "_masks", "_metadata", "_raw_metadata", "_use", |
111 |
"_validated_atoms", "_visible") |
112 |
|
113 |
metadata_keys = [ |
114 |
@@ -48,20 +50,21 @@ class Package(Task): |
115 |
UNKNOWN_REPO = _unknown_repo |
116 |
|
117 |
def __init__(self, **kwargs): |
118 |
+ metadata = _PackageMetadataWrapperBase(kwargs.pop('metadata')) |
119 |
Task.__init__(self, **kwargs) |
120 |
# the SlotObject constructor assigns self.root_config from keyword args |
121 |
# and is an instance of a '_emerge.RootConfig.RootConfig class |
122 |
self.root = self.root_config.root |
123 |
- self._raw_metadata = _PackageMetadataWrapperBase(self.metadata) |
124 |
- self.metadata = _PackageMetadataWrapper(self, self._raw_metadata) |
125 |
+ self._raw_metadata = metadata |
126 |
+ self._metadata = _PackageMetadataWrapper(self, metadata) |
127 |
if not self.built: |
128 |
- self.metadata['CHOST'] = self.root_config.settings.get('CHOST', '') |
129 |
+ self._metadata['CHOST'] = self.root_config.settings.get('CHOST', '') |
130 |
eapi_attrs = _get_eapi_attrs(self.eapi) |
131 |
- self.cpv = _pkg_str(self.cpv, metadata=self.metadata, |
132 |
+ self.cpv = _pkg_str(self.cpv, metadata=self._metadata, |
133 |
settings=self.root_config.settings) |
134 |
if hasattr(self.cpv, 'slot_invalid'): |
135 |
self._invalid_metadata('SLOT.invalid', |
136 |
- "SLOT: invalid value: '%s'" % self.metadata["SLOT"]) |
137 |
+ "SLOT: invalid value: '%s'" % self._metadata["SLOT"]) |
138 |
self.cpv_split = self.cpv.cpv_split |
139 |
self.category, self.pf = portage.catsplit(self.cpv) |
140 |
self.cp = self.cpv.cp |
141 |
@@ -70,14 +73,14 @@ class Package(Task): |
142 |
self.sub_slot = self.cpv.sub_slot |
143 |
self.slot_atom = Atom("%s%s%s" % (self.cp, _slot_separator, self.slot)) |
144 |
# sync metadata with validated repo (may be UNKNOWN_REPO) |
145 |
- self.metadata['repository'] = self.cpv.repo |
146 |
+ self._metadata['repository'] = self.cpv.repo |
147 |
|
148 |
if eapi_attrs.iuse_effective: |
149 |
implicit_match = self.root_config.settings._iuse_effective_match |
150 |
else: |
151 |
implicit_match = self.root_config.settings._iuse_implicit_match |
152 |
usealiases = self.root_config.settings._use_manager.getUseAliases(self) |
153 |
- self.iuse = self._iuse(self, self.metadata["IUSE"].split(), implicit_match, |
154 |
+ self.iuse = self._iuse(self, self._metadata["IUSE"].split(), implicit_match, |
155 |
usealiases, self.eapi) |
156 |
|
157 |
if (self.iuse.enabled or self.iuse.disabled) and \ |
158 |
@@ -103,12 +106,13 @@ class Package(Task): |
159 |
|
160 |
@property |
161 |
def eapi(self): |
162 |
- return self.metadata["EAPI"] |
163 |
+ return self._metadata["EAPI"] |
164 |
|
165 |
- # For consistency with _pkg_str |
166 |
@property |
167 |
- def _metadata(self): |
168 |
- return self.metadata |
169 |
+ def metadata(self): |
170 |
+ warnings.warn("_emerge.Package.Package.metadata is deprecated", |
171 |
+ DeprecationWarning, stacklevel=3) |
172 |
+ return self._metadata |
173 |
|
174 |
# These are calculated on-demand, so that they are calculated |
175 |
# after FakeVartree applies its metadata tweaks. |
176 |
@@ -202,7 +206,7 @@ class Package(Task): |
177 |
|
178 |
validated_atoms = [] |
179 |
for k in self._dep_keys: |
180 |
- v = self.metadata.get(k) |
181 |
+ v = self._metadata.get(k) |
182 |
if not v: |
183 |
continue |
184 |
try: |
185 |
@@ -228,7 +232,7 @@ class Package(Task): |
186 |
validated_atoms if isinstance(atom, Atom))) |
187 |
|
188 |
k = 'PROVIDE' |
189 |
- v = self.metadata.get(k) |
190 |
+ v = self._metadata.get(k) |
191 |
if v: |
192 |
try: |
193 |
use_reduce(v, eapi=dep_eapi, matchall=True, |
194 |
@@ -238,7 +242,7 @@ class Package(Task): |
195 |
_unicode_decode("%s: %s") % (k, e)) |
196 |
|
197 |
for k in self._use_conditional_misc_keys: |
198 |
- v = self.metadata.get(k) |
199 |
+ v = self._metadata.get(k) |
200 |
if not v: |
201 |
continue |
202 |
try: |
203 |
@@ -248,7 +252,7 @@ class Package(Task): |
204 |
self._metadata_exception(k, e) |
205 |
|
206 |
k = 'REQUIRED_USE' |
207 |
- v = self.metadata.get(k) |
208 |
+ v = self._metadata.get(k) |
209 |
if v and not self.built: |
210 |
if not _get_eapi_attrs(eapi).required_use: |
211 |
self._invalid_metadata('EAPI.incompatible', |
212 |
@@ -265,7 +269,7 @@ class Package(Task): |
213 |
_unicode_decode("%s: %s") % (k, e)) |
214 |
|
215 |
k = 'SRC_URI' |
216 |
- v = self.metadata.get(k) |
217 |
+ v = self._metadata.get(k) |
218 |
if v: |
219 |
try: |
220 |
use_reduce(v, is_src_uri=True, eapi=eapi, matchall=True, |
221 |
@@ -287,8 +291,8 @@ class Package(Task): |
222 |
if self.invalid is not False: |
223 |
masks['invalid'] = self.invalid |
224 |
|
225 |
- if not settings._accept_chost(self.cpv, self.metadata): |
226 |
- masks['CHOST'] = self.metadata['CHOST'] |
227 |
+ if not settings._accept_chost(self.cpv, self._metadata): |
228 |
+ masks['CHOST'] = self._metadata['CHOST'] |
229 |
|
230 |
eapi = self.eapi |
231 |
if not portage.eapi_is_supported(eapi): |
232 |
@@ -297,26 +301,26 @@ class Package(Task): |
233 |
masks['EAPI.deprecated'] = eapi |
234 |
|
235 |
missing_keywords = settings._getMissingKeywords( |
236 |
- self.cpv, self.metadata) |
237 |
+ self.cpv, self._metadata) |
238 |
if missing_keywords: |
239 |
masks['KEYWORDS'] = missing_keywords |
240 |
|
241 |
try: |
242 |
missing_properties = settings._getMissingProperties( |
243 |
- self.cpv, self.metadata) |
244 |
+ self.cpv, self._metadata) |
245 |
if missing_properties: |
246 |
masks['PROPERTIES'] = missing_properties |
247 |
except InvalidDependString: |
248 |
# already recorded as 'invalid' |
249 |
pass |
250 |
|
251 |
- mask_atom = settings._getMaskAtom(self.cpv, self.metadata) |
252 |
+ mask_atom = settings._getMaskAtom(self.cpv, self._metadata) |
253 |
if mask_atom is not None: |
254 |
masks['package.mask'] = mask_atom |
255 |
|
256 |
try: |
257 |
missing_licenses = settings._getMissingLicenses( |
258 |
- self.cpv, self.metadata) |
259 |
+ self.cpv, self._metadata) |
260 |
if missing_licenses: |
261 |
masks['LICENSE'] = missing_licenses |
262 |
except InvalidDependString: |
263 |
@@ -355,7 +359,7 @@ class Package(Task): |
264 |
"""returns None, 'missing', or 'unstable'.""" |
265 |
|
266 |
missing = self.root_config.settings._getRawMissingKeywords( |
267 |
- self.cpv, self.metadata) |
268 |
+ self.cpv, self._metadata) |
269 |
|
270 |
if not missing: |
271 |
return None |
272 |
@@ -376,7 +380,7 @@ class Package(Task): |
273 |
"""returns a bool if the cpv is in the list of |
274 |
expanded pmaskdict[cp] available ebuilds""" |
275 |
pmask = self.root_config.settings._getRawMaskAtom( |
276 |
- self.cpv, self.metadata) |
277 |
+ self.cpv, self._metadata) |
278 |
return pmask is not None |
279 |
|
280 |
def _metadata_exception(self, k, e): |
281 |
@@ -529,7 +533,7 @@ class Package(Task): |
282 |
|
283 |
@property |
284 |
def repo(self): |
285 |
- return self.metadata['repository'] |
286 |
+ return self._metadata['repository'] |
287 |
|
288 |
@property |
289 |
def repo_priority(self): |
290 |
@@ -541,7 +545,7 @@ class Package(Task): |
291 |
@property |
292 |
def use(self): |
293 |
if self._use is None: |
294 |
- self.metadata._init_use() |
295 |
+ self._metadata._init_use() |
296 |
return self._use |
297 |
|
298 |
def _get_pkgsettings(self): |
299 |
|
300 |
diff --git a/pym/_emerge/PackageVirtualDbapi.py b/pym/_emerge/PackageVirtualDbapi.py |
301 |
index 0f7be44..56a5576 100644 |
302 |
--- a/pym/_emerge/PackageVirtualDbapi.py |
303 |
+++ b/pym/_emerge/PackageVirtualDbapi.py |
304 |
@@ -140,10 +140,10 @@ class PackageVirtualDbapi(dbapi): |
305 |
self._clear_cache() |
306 |
|
307 |
def aux_get(self, cpv, wants, myrepo=None): |
308 |
- metadata = self._cpv_map[cpv].metadata |
309 |
+ metadata = self._cpv_map[cpv]._metadata |
310 |
return [metadata.get(x, "") for x in wants] |
311 |
|
312 |
def aux_update(self, cpv, values): |
313 |
- self._cpv_map[cpv].metadata.update(values) |
314 |
+ self._cpv_map[cpv]._metadata.update(values) |
315 |
self._clear_cache() |
316 |
|
317 |
|
318 |
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py |
319 |
index ff29380..72f1943 100644 |
320 |
--- a/pym/_emerge/Scheduler.py |
321 |
+++ b/pym/_emerge/Scheduler.py |
322 |
@@ -409,7 +409,7 @@ class Scheduler(PollScheduler): |
323 |
if not (isinstance(task, Package) and \ |
324 |
task.operation == "merge"): |
325 |
continue |
326 |
- if 'interactive' in task.metadata.properties: |
327 |
+ if 'interactive' in task._metadata.properties: |
328 |
interactive_tasks.append(task) |
329 |
return interactive_tasks |
330 |
|
331 |
@@ -786,7 +786,7 @@ class Scheduler(PollScheduler): |
332 |
if x.eapi in ("0", "1", "2", "3"): |
333 |
continue |
334 |
|
335 |
- if "pretend" not in x.metadata.defined_phases: |
336 |
+ if "pretend" not in x._metadata.defined_phases: |
337 |
continue |
338 |
|
339 |
out_str =">>> Running pre-merge checks for " + colorize("INFORM", x.cpv) + "\n" |
340 |
|
341 |
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py |
342 |
index cd52ddb..b64614e 100644 |
343 |
--- a/pym/_emerge/actions.py |
344 |
+++ b/pym/_emerge/actions.py |
345 |
@@ -706,7 +706,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, |
346 |
continue |
347 |
except portage.exception.InvalidDependString as e: |
348 |
show_invalid_depstring_notice(pkg, |
349 |
- pkg.metadata["PROVIDE"], str(e)) |
350 |
+ pkg._metadata["PROVIDE"], _unicode(e)) |
351 |
del e |
352 |
protected_set.add("=" + pkg.cpv) |
353 |
continue |
354 |
@@ -760,7 +760,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, |
355 |
continue |
356 |
except portage.exception.InvalidDependString as e: |
357 |
show_invalid_depstring_notice(pkg, |
358 |
- pkg.metadata["PROVIDE"], str(e)) |
359 |
+ pkg._metadata["PROVIDE"], _unicode(e)) |
360 |
del e |
361 |
protected_set.add("=" + pkg.cpv) |
362 |
continue |
363 |
@@ -778,7 +778,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, |
364 |
required_sets['__excluded__'].add("=" + pkg.cpv) |
365 |
except portage.exception.InvalidDependString as e: |
366 |
show_invalid_depstring_notice(pkg, |
367 |
- pkg.metadata["PROVIDE"], str(e)) |
368 |
+ pkg._metadata["PROVIDE"], _unicode(e)) |
369 |
del e |
370 |
required_sets['__excluded__'].add("=" + pkg.cpv) |
371 |
|
372 |
@@ -1168,7 +1168,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, |
373 |
for node in clean_set: |
374 |
graph.add(node, None) |
375 |
for dep_type in Package._dep_keys: |
376 |
- depstr = node.metadata[dep_type] |
377 |
+ depstr = node._metadata[dep_type] |
378 |
if not depstr: |
379 |
continue |
380 |
priority = priority_map[dep_type] |
381 |
|
382 |
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
383 |
index df49143..702f7fe 100644 |
384 |
--- a/pym/_emerge/depgraph.py |
385 |
+++ b/pym/_emerge/depgraph.py |
386 |
@@ -269,7 +269,7 @@ class _rebuild_config(object): |
387 |
return True |
388 |
elif (parent.installed and |
389 |
root_slot not in self.reinstall_list): |
390 |
- inst_build_time = parent.metadata.get("BUILD_TIME") |
391 |
+ inst_build_time = parent._metadata.get("BUILD_TIME") |
392 |
try: |
393 |
bin_build_time, = bindb.aux_get(parent.cpv, |
394 |
["BUILD_TIME"]) |
395 |
@@ -593,8 +593,8 @@ class depgraph(object): |
396 |
|
397 |
if selected_pkg.installed and \ |
398 |
selected_pkg.cpv == pkg.cpv and \ |
399 |
- selected_pkg.metadata.get('BUILD_TIME') == \ |
400 |
- pkg.metadata.get('BUILD_TIME'): |
401 |
+ selected_pkg._metadata.get('BUILD_TIME') == \ |
402 |
+ pkg._metadata.get('BUILD_TIME'): |
403 |
# We don't care about ignored binaries when an |
404 |
# identical installed instance is selected to |
405 |
# fill the slot. |
406 |
@@ -1490,10 +1490,10 @@ class depgraph(object): |
407 |
# package selection, since we want to prompt the user |
408 |
# for USE adjustment rather than have REQUIRED_USE |
409 |
# affect package selection and || dep choices. |
410 |
- if not pkg.built and pkg.metadata.get("REQUIRED_USE") and \ |
411 |
+ if not pkg.built and pkg._metadata.get("REQUIRED_USE") and \ |
412 |
eapi_has_required_use(pkg.eapi): |
413 |
required_use_is_sat = check_required_use( |
414 |
- pkg.metadata["REQUIRED_USE"], |
415 |
+ pkg._metadata["REQUIRED_USE"], |
416 |
self._pkg_use_enabled(pkg), |
417 |
pkg.iuse.is_valid_flag, |
418 |
eapi=pkg.eapi) |
419 |
@@ -1577,11 +1577,11 @@ class depgraph(object): |
420 |
# doesn't already. Any pre-existing providers will be preferred |
421 |
# over this one. |
422 |
try: |
423 |
- pkgsettings.setinst(pkg.cpv, pkg.metadata) |
424 |
+ pkgsettings.setinst(pkg.cpv, pkg._metadata) |
425 |
# For consistency, also update the global virtuals. |
426 |
settings = self._frozen_config.roots[pkg.root].settings |
427 |
settings.unlock() |
428 |
- settings.setinst(pkg.cpv, pkg.metadata) |
429 |
+ settings.setinst(pkg.cpv, pkg._metadata) |
430 |
settings.lock() |
431 |
except portage.exception.InvalidDependString: |
432 |
if not pkg.installed: |
433 |
@@ -1682,7 +1682,7 @@ class depgraph(object): |
434 |
def _add_pkg_deps(self, pkg, allow_unsatisfied=False): |
435 |
|
436 |
myroot = pkg.root |
437 |
- metadata = pkg.metadata |
438 |
+ metadata = pkg._metadata |
439 |
removal_action = "remove" in self._dynamic_config.myparams |
440 |
eapi_attrs = _get_eapi_attrs(pkg.eapi) |
441 |
|
442 |
@@ -2877,7 +2877,7 @@ class depgraph(object): |
443 |
blockers = {} |
444 |
blocker_dep_keys = Package._dep_keys |
445 |
for pkg in greedy_pkgs + [highest_pkg]: |
446 |
- dep_str = " ".join(pkg.metadata[k] for k in blocker_dep_keys) |
447 |
+ dep_str = " ".join(pkg._metadata[k] for k in blocker_dep_keys) |
448 |
try: |
449 |
selected_atoms = self._select_atoms( |
450 |
pkg.root, dep_str, self._pkg_use_enabled(pkg), |
451 |
@@ -3066,7 +3066,7 @@ class depgraph(object): |
452 |
return |
453 |
try: |
454 |
rdepend = self._select_atoms_from_graph( |
455 |
- pkg.root, pkg.metadata.get("RDEPEND", ""), |
456 |
+ pkg.root, pkg._metadata.get("RDEPEND", ""), |
457 |
myuse=self._pkg_use_enabled(pkg), |
458 |
parent=pkg, strict=False) |
459 |
except InvalidDependString as e: |
460 |
@@ -3094,7 +3094,7 @@ class depgraph(object): |
461 |
""" |
462 |
try: |
463 |
rdepend = self._select_atoms( |
464 |
- pkg.root, pkg.metadata.get("RDEPEND", ""), |
465 |
+ pkg.root, pkg._metadata.get("RDEPEND", ""), |
466 |
myuse=self._pkg_use_enabled(pkg), |
467 |
parent=pkg, priority=self._priority(runtime=True)) |
468 |
except InvalidDependString as e: |
469 |
@@ -3139,7 +3139,7 @@ class depgraph(object): |
470 |
for dep_str in Package._dep_keys: |
471 |
try: |
472 |
affecting_use.update(extract_affecting_use( |
473 |
- node.metadata[dep_str], target_atom, |
474 |
+ node._metadata[dep_str], target_atom, |
475 |
eapi=node.eapi)) |
476 |
except InvalidDependString: |
477 |
if not node.installed: |
478 |
@@ -3218,16 +3218,16 @@ class depgraph(object): |
479 |
# This edge comes from _parent_atoms and was not added to |
480 |
# the graph, and _parent_atoms does not contain priorities. |
481 |
for k in Package._dep_keys: |
482 |
- dep_strings.add(node.metadata[k]) |
483 |
+ dep_strings.add(node._metadata[k]) |
484 |
else: |
485 |
for priority in priorities: |
486 |
if priority.buildtime: |
487 |
for k in Package._buildtime_keys: |
488 |
- dep_strings.add(node.metadata[k]) |
489 |
+ dep_strings.add(node._metadata[k]) |
490 |
if priority.runtime: |
491 |
- dep_strings.add(node.metadata["RDEPEND"]) |
492 |
+ dep_strings.add(node._metadata["RDEPEND"]) |
493 |
if priority.runtime_post: |
494 |
- dep_strings.add(node.metadata["PDEPEND"]) |
495 |
+ dep_strings.add(node._metadata["PDEPEND"]) |
496 |
|
497 |
affecting_use = set() |
498 |
for dep_str in dep_strings: |
499 |
@@ -3376,9 +3376,9 @@ class depgraph(object): |
500 |
repo = metadata.get('repository') |
501 |
pkg = self._pkg(cpv, pkg_type, root_config, |
502 |
installed=installed, myrepo=repo) |
503 |
- # pkg.metadata contains calculated USE for ebuilds, |
504 |
+ # pkg._metadata contains calculated USE for ebuilds, |
505 |
# required later for getMissingLicenses. |
506 |
- metadata = pkg.metadata |
507 |
+ metadata = pkg._metadata |
508 |
if pkg.invalid: |
509 |
# Avoid doing any operations with packages that |
510 |
# have invalid metadata. It would be unsafe at |
511 |
@@ -3417,10 +3417,10 @@ class depgraph(object): |
512 |
raise |
513 |
if not mreasons and \ |
514 |
not pkg.built and \ |
515 |
- pkg.metadata.get("REQUIRED_USE") and \ |
516 |
+ pkg._metadata.get("REQUIRED_USE") and \ |
517 |
eapi_has_required_use(pkg.eapi): |
518 |
if not check_required_use( |
519 |
- pkg.metadata["REQUIRED_USE"], |
520 |
+ pkg._metadata["REQUIRED_USE"], |
521 |
self._pkg_use_enabled(pkg), |
522 |
pkg.iuse.is_valid_flag, |
523 |
eapi=pkg.eapi): |
524 |
@@ -3473,7 +3473,7 @@ class depgraph(object): |
525 |
continue |
526 |
|
527 |
missing_use_adjustable.add(pkg) |
528 |
- required_use = pkg.metadata.get("REQUIRED_USE") |
529 |
+ required_use = pkg._metadata.get("REQUIRED_USE") |
530 |
required_use_warning = "" |
531 |
if required_use: |
532 |
old_use = self._pkg_use_enabled(pkg) |
533 |
@@ -3523,7 +3523,7 @@ class depgraph(object): |
534 |
if any(x in untouchable_flags for x in involved_flags): |
535 |
continue |
536 |
|
537 |
- required_use = myparent.metadata.get("REQUIRED_USE") |
538 |
+ required_use = myparent._metadata.get("REQUIRED_USE") |
539 |
required_use_warning = "" |
540 |
if required_use: |
541 |
old_use = self._pkg_use_enabled(myparent) |
542 |
@@ -3625,7 +3625,7 @@ class depgraph(object): |
543 |
writemsg("\n The following REQUIRED_USE flag constraints " + \ |
544 |
"are unsatisfied:\n", noiselevel=-1) |
545 |
reduced_noise = check_required_use( |
546 |
- pkg.metadata["REQUIRED_USE"], |
547 |
+ pkg._metadata["REQUIRED_USE"], |
548 |
self._pkg_use_enabled(pkg), |
549 |
pkg.iuse.is_valid_flag, |
550 |
eapi=pkg.eapi).tounicode() |
551 |
@@ -3633,7 +3633,7 @@ class depgraph(object): |
552 |
human_readable_required_use(reduced_noise), |
553 |
noiselevel=-1) |
554 |
normalized_required_use = \ |
555 |
- " ".join(pkg.metadata["REQUIRED_USE"].split()) |
556 |
+ " ".join(pkg._metadata["REQUIRED_USE"].split()) |
557 |
if reduced_noise != normalized_required_use: |
558 |
writemsg("\n The above constraints " + \ |
559 |
"are a subset of the following complete expression:\n", |
560 |
@@ -3886,7 +3886,7 @@ class depgraph(object): |
561 |
return True |
562 |
|
563 |
def _equiv_binary_installed(self, pkg): |
564 |
- build_time = pkg.metadata.get('BUILD_TIME') |
565 |
+ build_time = pkg._metadata.get('BUILD_TIME') |
566 |
if not build_time: |
567 |
return False |
568 |
|
569 |
@@ -3896,7 +3896,7 @@ class depgraph(object): |
570 |
except PackageNotFound: |
571 |
return False |
572 |
|
573 |
- return build_time == inst_pkg.metadata.get('BUILD_TIME') |
574 |
+ return build_time == inst_pkg._metadata.get('BUILD_TIME') |
575 |
|
576 |
class _AutounmaskLevel(object): |
577 |
__slots__ = ("allow_use_changes", "allow_unstable_keywords", "allow_license_changes", \ |
578 |
@@ -4129,7 +4129,7 @@ class depgraph(object): |
579 |
return False |
580 |
|
581 |
for key in Package._dep_keys + ("LICENSE",): |
582 |
- dep = pkg.metadata[key] |
583 |
+ dep = pkg._metadata[key] |
584 |
old_val = set(portage.dep.use_reduce(dep, pkg.use.enabled, is_valid_flag=pkg.iuse.is_valid_flag, flat=True)) |
585 |
new_val = set(portage.dep.use_reduce(dep, new_use, is_valid_flag=pkg.iuse.is_valid_flag, flat=True)) |
586 |
|
587 |
@@ -4152,7 +4152,7 @@ class depgraph(object): |
588 |
|
589 |
if new_changes != old_changes: |
590 |
#Don't do the change if it violates REQUIRED_USE. |
591 |
- required_use = pkg.metadata.get("REQUIRED_USE") |
592 |
+ required_use = pkg._metadata.get("REQUIRED_USE") |
593 |
if required_use and check_required_use(required_use, old_use, |
594 |
pkg.iuse.is_valid_flag, eapi=pkg.eapi) and \ |
595 |
not check_required_use(required_use, new_use, |
596 |
@@ -4317,8 +4317,8 @@ class depgraph(object): |
597 |
for selected_pkg in matched_packages: |
598 |
if selected_pkg.type_name == "binary" and \ |
599 |
selected_pkg.cpv == pkg.cpv and \ |
600 |
- selected_pkg.metadata.get('BUILD_TIME') == \ |
601 |
- pkg.metadata.get('BUILD_TIME'): |
602 |
+ selected_pkg._metadata.get('BUILD_TIME') == \ |
603 |
+ pkg._metadata.get('BUILD_TIME'): |
604 |
identical_binary = True |
605 |
break |
606 |
|
607 |
@@ -4552,12 +4552,12 @@ class depgraph(object): |
608 |
# bug #306659 where BUILD_TIME fields are missing |
609 |
# in local and/or remote Packages file. |
610 |
try: |
611 |
- built_timestamp = int(built_pkg.metadata['BUILD_TIME']) |
612 |
+ built_timestamp = int(built_pkg._metadata['BUILD_TIME']) |
613 |
except (KeyError, ValueError): |
614 |
built_timestamp = 0 |
615 |
|
616 |
try: |
617 |
- installed_timestamp = int(inst_pkg.metadata['BUILD_TIME']) |
618 |
+ installed_timestamp = int(inst_pkg._metadata['BUILD_TIME']) |
619 |
except (KeyError, ValueError): |
620 |
installed_timestamp = 0 |
621 |
|
622 |
@@ -5157,7 +5157,7 @@ class depgraph(object): |
623 |
for inst_pkg, inst_task in depends_on_order: |
624 |
uninst_task = Package(built=inst_pkg.built, |
625 |
cpv=inst_pkg.cpv, installed=inst_pkg.installed, |
626 |
- metadata=inst_pkg.metadata, |
627 |
+ metadata=inst_pkg._metadata, |
628 |
operation="uninstall", |
629 |
root_config=inst_pkg.root_config, |
630 |
type_name=inst_pkg.type_name) |
631 |
@@ -5475,7 +5475,7 @@ class depgraph(object): |
632 |
if running_portage is not None: |
633 |
try: |
634 |
portage_rdepend = self._select_atoms_highest_available( |
635 |
- running_root, running_portage.metadata["RDEPEND"], |
636 |
+ running_root, running_portage._metadata["RDEPEND"], |
637 |
myuse=self._pkg_use_enabled(running_portage), |
638 |
parent=running_portage, strict=False) |
639 |
except portage.exception.InvalidDependString as e: |
640 |
@@ -6030,7 +6030,7 @@ class depgraph(object): |
641 |
inst_pkg = inst_pkg[0] |
642 |
uninst_task = Package(built=inst_pkg.built, |
643 |
cpv=inst_pkg.cpv, installed=inst_pkg.installed, |
644 |
- metadata=inst_pkg.metadata, |
645 |
+ metadata=inst_pkg._metadata, |
646 |
operation="uninstall", |
647 |
root_config=inst_pkg.root_config, |
648 |
type_name=inst_pkg.type_name) |
649 |
@@ -6362,7 +6362,7 @@ class depgraph(object): |
650 |
keyword = reason.unmask_hint.value |
651 |
|
652 |
comment, filename = portage.getmaskingreason( |
653 |
- pkg.cpv, metadata=pkg.metadata, |
654 |
+ pkg.cpv, metadata=pkg._metadata, |
655 |
settings=pkgsettings, |
656 |
portdb=pkg.root_config.trees["porttree"].dbapi, |
657 |
return_location=True) |
658 |
@@ -6741,7 +6741,7 @@ class depgraph(object): |
659 |
pkgsettings = self._frozen_config.pkgsettings[pkg.root] |
660 |
mreasons = get_masking_status(pkg, pkgsettings, root_config, use=self._pkg_use_enabled(pkg)) |
661 |
masked_packages.append((root_config, pkgsettings, |
662 |
- pkg.cpv, pkg.repo, pkg.metadata, mreasons)) |
663 |
+ pkg.cpv, pkg.repo, pkg._metadata, mreasons)) |
664 |
if masked_packages: |
665 |
writemsg("\n" + colorize("BAD", "!!!") + \ |
666 |
" The following updates are masked by LICENSE changes:\n", |
667 |
@@ -6756,7 +6756,7 @@ class depgraph(object): |
668 |
pkgsettings = self._frozen_config.pkgsettings[pkg.root] |
669 |
mreasons = get_masking_status(pkg, pkgsettings, root_config, use=self._pkg_use_enabled) |
670 |
masked_packages.append((root_config, pkgsettings, |
671 |
- pkg.cpv, pkg.repo, pkg.metadata, mreasons)) |
672 |
+ pkg.cpv, pkg.repo, pkg._metadata, mreasons)) |
673 |
if masked_packages: |
674 |
writemsg("\n" + colorize("BAD", "!!!") + \ |
675 |
" The following installed packages are masked:\n", |
676 |
@@ -7253,7 +7253,7 @@ class _dep_check_composite_db(dbapi): |
677 |
return True |
678 |
|
679 |
def aux_get(self, cpv, wants): |
680 |
- metadata = self._cpv_pkg_map[cpv].metadata |
681 |
+ metadata = self._cpv_pkg_map[cpv]._metadata |
682 |
return [metadata.get(x, "") for x in wants] |
683 |
|
684 |
def match_pkgs(self, atom): |
685 |
@@ -7605,9 +7605,9 @@ def _get_masking_status(pkg, pkgsettings, root_config, myrepo=None, use=None): |
686 |
portdb=root_config.trees["porttree"].dbapi, myrepo=myrepo) |
687 |
|
688 |
if not pkg.installed: |
689 |
- if not pkgsettings._accept_chost(pkg.cpv, pkg.metadata): |
690 |
+ if not pkgsettings._accept_chost(pkg.cpv, pkg._metadata): |
691 |
mreasons.append(_MaskReason("CHOST", "CHOST: %s" % \ |
692 |
- pkg.metadata["CHOST"])) |
693 |
+ pkg._metadata["CHOST"])) |
694 |
|
695 |
if pkg.invalid: |
696 |
for msgs in pkg.invalid.values(): |
697 |
@@ -7615,7 +7615,7 @@ def _get_masking_status(pkg, pkgsettings, root_config, myrepo=None, use=None): |
698 |
mreasons.append( |
699 |
_MaskReason("invalid", "invalid: %s" % (msg,))) |
700 |
|
701 |
- if not pkg.metadata["SLOT"]: |
702 |
+ if not pkg._metadata["SLOT"]: |
703 |
mreasons.append( |
704 |
_MaskReason("invalid", "SLOT: undefined")) |
705 |
|
706 |
|
707 |
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py |
708 |
index 76c7b3a..5256123 100644 |
709 |
--- a/pym/_emerge/resolver/circular_dependency.py |
710 |
+++ b/pym/_emerge/resolver/circular_dependency.py |
711 |
@@ -114,10 +114,10 @@ class circular_dependency_handler(object): |
712 |
parent_atoms = self.all_parent_atoms.get(pkg) |
713 |
|
714 |
if priorities[-1].buildtime: |
715 |
- dep = " ".join(parent.metadata[k] |
716 |
+ dep = " ".join(parent._metadata[k] |
717 |
for k in Package._buildtime_keys) |
718 |
elif priorities[-1].runtime: |
719 |
- dep = parent.metadata["RDEPEND"] |
720 |
+ dep = parent._metadata["RDEPEND"] |
721 |
|
722 |
for ppkg, atom in parent_atoms: |
723 |
if ppkg == parent: |
724 |
@@ -146,7 +146,7 @@ class circular_dependency_handler(object): |
725 |
#If any of the flags we're going to touch is in REQUIRED_USE, add all |
726 |
#other flags in REQUIRED_USE to affecting_use, to not lose any solution. |
727 |
required_use_flags = get_required_use_flags( |
728 |
- parent.metadata.get("REQUIRED_USE", ""), |
729 |
+ parent._metadata.get("REQUIRED_USE", ""), |
730 |
eapi=parent.eapi) |
731 |
|
732 |
if affecting_use.intersection(required_use_flags): |
733 |
@@ -189,7 +189,7 @@ class circular_dependency_handler(object): |
734 |
parent_atom not in reduced_dep: |
735 |
#We found an assignment that removes the atom from 'dep'. |
736 |
#Make sure it doesn't conflict with REQUIRED_USE. |
737 |
- required_use = parent.metadata.get("REQUIRED_USE", "") |
738 |
+ required_use = parent._metadata.get("REQUIRED_USE", "") |
739 |
|
740 |
if check_required_use(required_use, current_use, |
741 |
parent.iuse.is_valid_flag, |
742 |
|
743 |
diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py |
744 |
index cfacab1..1fdc08d 100644 |
745 |
--- a/pym/_emerge/resolver/output.py |
746 |
+++ b/pym/_emerge/resolver/output.py |
747 |
@@ -651,7 +651,7 @@ class Display(object): |
748 |
pkg_info.repo_path_real = self.portdb.getRepositoryPath(pkg.repo) |
749 |
pkg_info.use = list(self.conf.pkg_use_enabled(pkg)) |
750 |
if not pkg.built and pkg.operation == 'merge' and \ |
751 |
- 'fetch' in pkg.metadata.restrict: |
752 |
+ 'fetch' in pkg._metadata.restrict: |
753 |
if pkg_info.ordered: |
754 |
self.counters.restrict_fetch += 1 |
755 |
pkg_info.attr_display.fetch_restrict = True |
756 |
@@ -853,7 +853,7 @@ class Display(object): |
757 |
pkg_info.oldbest = self.convert_myoldbest(pkg, pkg_info) |
758 |
pkg_info.system, pkg_info.world = \ |
759 |
self.check_system_world(pkg) |
760 |
- if 'interactive' in pkg.metadata.properties and \ |
761 |
+ if 'interactive' in pkg._metadata.properties and \ |
762 |
pkg.operation == 'merge': |
763 |
pkg_info.attr_display.interactive = True |
764 |
if ordered: |
765 |
|
766 |
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py |
767 |
index c2b04d5..e04166b 100644 |
768 |
--- a/pym/_emerge/resolver/slot_collision.py |
769 |
+++ b/pym/_emerge/resolver/slot_collision.py |
770 |
@@ -872,7 +872,7 @@ class slot_conflict_handler(object): |
771 |
|
772 |
#Make sure the changes don't violate REQUIRED_USE |
773 |
for pkg in required_changes: |
774 |
- required_use = pkg.metadata.get("REQUIRED_USE") |
775 |
+ required_use = pkg._metadata.get("REQUIRED_USE") |
776 |
if not required_use: |
777 |
continue |
778 |
|
779 |
|
780 |
diff --git a/pym/portage/_sets/base.py b/pym/portage/_sets/base.py |
781 |
index c8d3ae4..d368e00 100644 |
782 |
--- a/pym/portage/_sets/base.py |
783 |
+++ b/pym/portage/_sets/base.py |
784 |
@@ -126,7 +126,7 @@ class PackageSet(object): |
785 |
|
786 |
if modified_use is not None and modified_use is not pkg.use.enabled: |
787 |
pkg = pkg.copy() |
788 |
- pkg.metadata["USE"] = " ".join(modified_use) |
789 |
+ pkg._metadata["USE"] = " ".join(modified_use) |
790 |
|
791 |
# Atoms matched via PROVIDE must be temporarily transformed since |
792 |
# match_from_list() only works correctly when atom.cp == pkg.cp. |
793 |
@@ -156,7 +156,7 @@ class PackageSet(object): |
794 |
for atom in atoms: |
795 |
if match_from_list(atom, cpv_slot_list): |
796 |
yield atom |
797 |
- provides = pkg.metadata['PROVIDE'] |
798 |
+ provides = pkg._metadata['PROVIDE'] |
799 |
if not provides: |
800 |
return |
801 |
provides = provides.split() |
802 |
|
803 |
diff --git a/pym/portage/dep/_slot_operator.py b/pym/portage/dep/_slot_operator.py |
804 |
index 1fdf904..2fcfb48 100644 |
805 |
--- a/pym/portage/dep/_slot_operator.py |
806 |
+++ b/pym/portage/dep/_slot_operator.py |
807 |
@@ -9,7 +9,7 @@ from _emerge.Package import Package |
808 |
def find_built_slot_operator_atoms(pkg): |
809 |
atoms = {} |
810 |
for k in Package._dep_keys: |
811 |
- atom_list = list(_find_built_slot_operator(use_reduce(pkg.metadata[k], |
812 |
+ atom_list = list(_find_built_slot_operator(use_reduce(pkg._metadata[k], |
813 |
uselist=pkg.use.enabled, eapi=pkg.eapi, |
814 |
token_class=Atom))) |
815 |
if atom_list: |
816 |
|
817 |
diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py |
818 |
index 006e084..b5f8d0d 100644 |
819 |
--- a/pym/portage/dep/dep_check.py |
820 |
+++ b/pym/portage/dep/dep_check.py |
821 |
@@ -160,7 +160,7 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", |
822 |
# According to GLEP 37, RDEPEND is the only dependency |
823 |
# type that is valid for new-style virtuals. Repoman |
824 |
# should enforce this. |
825 |
- depstring = pkg.metadata['RDEPEND'] |
826 |
+ depstring = pkg._metadata['RDEPEND'] |
827 |
pkg_kwargs = kwargs.copy() |
828 |
pkg_kwargs["myuse"] = pkg_use_enabled(pkg) |
829 |
if edebug: |
830 |
|
831 |
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py |
832 |
index 86eac8a..75fc1de 100644 |
833 |
--- a/pym/portage/package/ebuild/config.py |
834 |
+++ b/pym/portage/package/ebuild/config.py |
835 |
@@ -1248,7 +1248,7 @@ class config(object): |
836 |
if not isinstance(mycpv, basestring): |
837 |
pkg = mycpv |
838 |
mycpv = pkg.cpv |
839 |
- mydb = pkg.metadata |
840 |
+ mydb = pkg._metadata |
841 |
explicit_iuse = pkg.iuse.all |
842 |
args_hash = (mycpv, id(pkg)) |
843 |
if pkg.built: |
844 |
|
845 |
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py |
846 |
index a1f27db..d737e66 100644 |
847 |
--- a/pym/portage/package/ebuild/doebuild.py |
848 |
+++ b/pym/portage/package/ebuild/doebuild.py |
849 |
@@ -1334,9 +1334,9 @@ def _validate_deps(mysettings, myroot, mydo, mydbapi): |
850 |
|
851 |
if not pkg.built and \ |
852 |
mydo not in ("digest", "help", "manifest") and \ |
853 |
- pkg.metadata["REQUIRED_USE"] and \ |
854 |
+ pkg._metadata["REQUIRED_USE"] and \ |
855 |
eapi_has_required_use(pkg.eapi): |
856 |
- result = check_required_use(pkg.metadata["REQUIRED_USE"], |
857 |
+ result = check_required_use(pkg._metadata["REQUIRED_USE"], |
858 |
pkg.use.enabled, pkg.iuse.is_valid_flag, eapi=pkg.eapi) |
859 |
if not result: |
860 |
reduced_noise = result.tounicode() |
861 |
@@ -1345,7 +1345,7 @@ def _validate_deps(mysettings, myroot, mydo, mydbapi): |
862 |
writemsg(" %s\n" % reduced_noise, |
863 |
noiselevel=-1) |
864 |
normalized_required_use = \ |
865 |
- " ".join(pkg.metadata["REQUIRED_USE"].split()) |
866 |
+ " ".join(pkg._metadata["REQUIRED_USE"].split()) |
867 |
if reduced_noise != normalized_required_use: |
868 |
writemsg("\n %s\n" % _("The above constraints " + \ |
869 |
"are a subset of the following complete expression:"), |
870 |
|
871 |
diff --git a/pym/portage/package/ebuild/getmaskingstatus.py b/pym/portage/package/ebuild/getmaskingstatus.py |
872 |
index 954abce..4dbe6a9 100644 |
873 |
--- a/pym/portage/package/ebuild/getmaskingstatus.py |
874 |
+++ b/pym/portage/package/ebuild/getmaskingstatus.py |
875 |
@@ -48,7 +48,7 @@ def _getmaskingstatus(mycpv, settings, portdb, myrepo=None): |
876 |
# emerge passed in a Package instance |
877 |
pkg = mycpv |
878 |
mycpv = pkg.cpv |
879 |
- metadata = pkg.metadata |
880 |
+ metadata = pkg._metadata |
881 |
installed = pkg.installed |
882 |
|
883 |
if metadata is None: |