1 |
Author: grobian |
2 |
Date: 2009-04-25 08:35:39 +0000 (Sat, 25 Apr 2009) |
3 |
New Revision: 13392 |
4 |
|
5 |
Modified: |
6 |
main/branches/prefix/man/portage.5 |
7 |
main/branches/prefix/pym/_emerge/__init__.py |
8 |
main/branches/prefix/pym/portage/dep.py |
9 |
Log: |
10 |
Merged from trunk -r13369:13375 |
11 |
|
12 |
| 13370 | Add notes about eclass precedence for metadata/layout.conf. | |
13 |
| zmedico | | |
14 |
|
15 |
| 13371 | Emphasize precedence of repos.conf over layout.conf. | |
16 |
| zmedico | | |
17 |
|
18 |
| 13372 | Tweak _eclasses_ logic inside action_metadata(). | |
19 |
| zmedico | | |
20 |
|
21 |
| 13373 | Add missing del when cleansing cache in action_metadata(). | |
22 |
| zmedico | | |
23 |
|
24 |
| 13374 | Drop from --ask to --pretend for uninstall all actions. | |
25 |
| zmedico | | |
26 |
|
27 |
| 13375 | Add note about 'use' in the Atom.intersects() docstring. | |
28 |
| zmedico | | |
29 |
|
30 |
|
31 |
Modified: main/branches/prefix/man/portage.5 |
32 |
=================================================================== |
33 |
--- main/branches/prefix/man/portage.5 2009-04-24 06:37:22 UTC (rev 13391) |
34 |
+++ main/branches/prefix/man/portage.5 2009-04-25 08:35:39 UTC (rev 13392) |
35 |
@@ -587,12 +587,20 @@ |
36 |
repositories which satisfy dependencies on eclasses and/or ebuilds. Each |
37 |
repository name should correspond the value of a \fBrepo_name\fR entry |
38 |
from one of the repositories that is configured via the \fBPORTDIR\fR or |
39 |
-\fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)). Site-specific |
40 |
+\fBPORTDIR_OVERLAY\fR variables (see \fBmake.conf\fR(5)). Repositories listed |
41 |
+toward the right of the \fBmasters\fR list take precedence over those listed |
42 |
+toward the left of the list. \fISite-specific\fR |
43 |
overrides to \fBlayout.conf\fR settings may be specified in |
44 |
-\fB/etc/portage/repos.conf\fR. |
45 |
+\fB/etc/portage/repos.conf\fR. Settings in \fBrepos.conf\fR take |
46 |
+precedence over settings in \fBlayout.conf\fR, except tools such as |
47 |
+\fBrepoman\fR(1) and \fBegencache\fR(1) will entirely ignore |
48 |
+\fBrepos.conf\fR since their operations are inherently \fBnot\fR |
49 |
+\fIsite\-specific\fR. |
50 |
|
51 |
.I Example: |
52 |
.nf |
53 |
+# eclasses provided by java-overlay take precedence over identically named |
54 |
+# eclasses that are provided by gentoo |
55 |
masters = gentoo java-overlay |
56 |
.fi |
57 |
.RE |
58 |
|
59 |
Modified: main/branches/prefix/pym/_emerge/__init__.py |
60 |
=================================================================== |
61 |
--- main/branches/prefix/pym/_emerge/__init__.py 2009-04-24 06:37:22 UTC (rev 13391) |
62 |
+++ main/branches/prefix/pym/_emerge/__init__.py 2009-04-25 08:35:39 UTC (rev 13392) |
63 |
@@ -13641,12 +13641,12 @@ |
64 |
else: |
65 |
inherited = inherited.split() |
66 |
|
67 |
+ if tree_data.src_db.complete_eclass_entries and \ |
68 |
+ eclasses is None: |
69 |
+ noise.corruption(cpv, "missing _eclasses_ field") |
70 |
+ continue |
71 |
+ |
72 |
if inherited: |
73 |
- if tree_data.src_db.complete_eclass_entries and \ |
74 |
- eclasses is None: |
75 |
- noise.corruption(cpv, "missing _eclasses_ field") |
76 |
- continue |
77 |
- |
78 |
# Even if _eclasses_ already exists, replace it with data from |
79 |
# eclass_cache, in order to insert local eclass paths. |
80 |
try: |
81 |
@@ -13660,6 +13660,8 @@ |
82 |
noise.eclass_stale(cpv) |
83 |
continue |
84 |
src['_eclasses_'] = eclasses |
85 |
+ else: |
86 |
+ src['_eclasses_'] = {} |
87 |
|
88 |
if not eapi_supported: |
89 |
src = { |
90 |
@@ -13693,7 +13695,7 @@ |
91 |
dead_nodes.difference_update(tree_data.valid_nodes) |
92 |
for cpv in dead_nodes: |
93 |
try: |
94 |
- tree_data.dest_db[cpv] |
95 |
+ del tree_data.dest_db[cpv] |
96 |
except (KeyError, CacheError): |
97 |
pass |
98 |
|
99 |
@@ -16208,7 +16210,8 @@ |
100 |
if portage.secpass < 2: |
101 |
# We've already allowed "--version" and "--help" above. |
102 |
if "--pretend" not in myopts and myaction not in ("search","info"): |
103 |
- need_superuser = myaction in ('deselect',) or not \ |
104 |
+ need_superuser = myaction in ('clean', 'depclean', 'deselect', |
105 |
+ 'prune', 'unmerge') or not \ |
106 |
(fetchonly or \ |
107 |
(buildpkgonly and secpass >= 1) or \ |
108 |
myaction in ("metadata", "regen") or \ |
109 |
|
110 |
Modified: main/branches/prefix/pym/portage/dep.py |
111 |
=================================================================== |
112 |
--- main/branches/prefix/pym/portage/dep.py 2009-04-24 06:37:22 UTC (rev 13391) |
113 |
+++ main/branches/prefix/pym/portage/dep.py 2009-04-25 08:35:39 UTC (rev 13392) |
114 |
@@ -560,8 +560,9 @@ |
115 |
|
116 |
def intersects(self, other): |
117 |
""" |
118 |
- Atoms with different operator or cpv attributes cause this method to |
119 |
- return False. TODO: Detect intersection when operators are present. |
120 |
+ Atoms with different cpv, operator or use attributes cause this method |
121 |
+ to return False even though there may actually be some intersection. |
122 |
+ TODO: Detect more forms of intersection. |
123 |
@param other: The package atom to match |
124 |
@type other: Atom |
125 |
@rtype: Boolean |