1 |
commit: 1014a357ecd63e72f03d148634eeb7ef05cc44a1 |
2 |
Author: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Gentoo <DOT> Org> |
3 |
AuthorDate: Sat Jan 28 01:38:24 2012 +0000 |
4 |
Commit: Arfrever Frehtes Taifersar Arahesis <arfrever <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 28 01:38:24 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1014a357 |
7 |
|
8 |
Don't print ::${repository} for main repository in output of |
9 |
`emerge -pv ${package}` by default. Add --verbose-main-repo-display |
10 |
option, which enables printing ::${repository} for main repository. |
11 |
|
12 |
--- |
13 |
man/emerge.1 | 3 ++ |
14 |
pym/_emerge/main.py | 1 + |
15 |
pym/_emerge/resolver/output.py | 61 ++++++++++++++++++-------------- |
16 |
pym/_emerge/resolver/output_helpers.py | 8 ++-- |
17 |
4 files changed, 42 insertions(+), 31 deletions(-) |
18 |
|
19 |
diff --git a/man/emerge.1 b/man/emerge.1 |
20 |
index 7b83f64..7b59040 100644 |
21 |
--- a/man/emerge.1 |
22 |
+++ b/man/emerge.1 |
23 |
@@ -755,6 +755,9 @@ Symbol Location Meaning |
24 |
() circumfix forced, masked, or removed |
25 |
.TE |
26 |
.TP |
27 |
+.BR "\-\-verbose\-main\-repo\-display" |
28 |
+In the package merge list display, print ::repository even for main repository. |
29 |
+.TP |
30 |
.BR "\-\-with\-bdeps < y | n >" |
31 |
In dependency calculations, pull in build time dependencies |
32 |
that are not strictly required. This defaults to \'n\' for |
33 |
|
34 |
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py |
35 |
index 65df99d..45ca6f5 100644 |
36 |
--- a/pym/_emerge/main.py |
37 |
+++ b/pym/_emerge/main.py |
38 |
@@ -75,6 +75,7 @@ options=[ |
39 |
"--unordered-display", |
40 |
"--update", |
41 |
"--verbose", |
42 |
+"--verbose-main-repo-display", |
43 |
] |
44 |
|
45 |
shortmapping={ |
46 |
|
47 |
diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py |
48 |
index ed72b23..d3fe1d7 100644 |
49 |
--- a/pym/_emerge/resolver/output.py |
50 |
+++ b/pym/_emerge/resolver/output.py |
51 |
@@ -71,7 +71,7 @@ class Display(object): |
52 |
"""Processes pkg for blockers and adds colorized strings to |
53 |
self.print_msg and self.blockers |
54 |
|
55 |
- @param pkg: _emerge.Package instance |
56 |
+ @param pkg: _emerge.Package.Package instance |
57 |
@param fetch_symbol: string |
58 |
@rtype: bool |
59 |
Modifies class globals: self.blocker_style, self.resolved, |
60 |
@@ -120,7 +120,7 @@ class Display(object): |
61 |
def _display_use(self, pkg, myoldbest, myinslotlist): |
62 |
""" USE flag display |
63 |
|
64 |
- @param pkg: _emerge.Package instance |
65 |
+ @param pkg: _emerge.Package.Package instance |
66 |
@param myoldbest: list of installed versions |
67 |
@param myinslotlist: list of installed slots |
68 |
Modifies class globals: self.forced_flags, self.cur_iuse, |
69 |
@@ -160,7 +160,7 @@ class Display(object): |
70 |
|
71 |
def gen_mask_str(self, pkg): |
72 |
""" |
73 |
- @param pkg: _emerge.Package instance |
74 |
+ @param pkg: _emerge.Package.Package instance |
75 |
""" |
76 |
hardmasked = pkg.isHardMasked() |
77 |
mask_str = " " |
78 |
@@ -222,7 +222,7 @@ class Display(object): |
79 |
""" Prevent USE_EXPAND_HIDDEN flags from being hidden if they |
80 |
are the only thing that triggered reinstallation. |
81 |
|
82 |
- @param pkg: _emerge.Package instance |
83 |
+ @param pkg: _emerge.Package.Package instance |
84 |
Modifies self.use_expand_hidden, self.use_expand, self.verboseadd |
85 |
""" |
86 |
reinst_flags_map = {} |
87 |
@@ -301,7 +301,7 @@ class Display(object): |
88 |
def verbose_size(self, pkg, repoadd_set, pkg_info): |
89 |
"""Determines the size of the downloads required |
90 |
|
91 |
- @param pkg: _emerge.Package instance |
92 |
+ @param pkg: _emerge.Package.Package instance |
93 |
@param repoadd_set: set of repos to add |
94 |
@param pkg_info: dictionary |
95 |
Modifies class globals: self.myfetchlist, self.counters.totalsize, |
96 |
@@ -369,9 +369,10 @@ class Display(object): |
97 |
repoadd_set.add(self.repoadd) |
98 |
|
99 |
|
100 |
- def convert_myoldbest(self, myoldbest): |
101 |
+ def convert_myoldbest(self, pkg, myoldbest): |
102 |
"""converts and colorizes a version list to a string |
103 |
|
104 |
+ @param pkg: _emerge.Package.Package instance |
105 |
@param myoldbest: list |
106 |
@rtype string. |
107 |
""" |
108 |
@@ -379,13 +380,13 @@ class Display(object): |
109 |
myoldbest_str = "" |
110 |
if myoldbest: |
111 |
versions = [] |
112 |
- for pos, pkg in enumerate(myoldbest): |
113 |
- key = catpkgsplit(pkg.cpv)[2] + \ |
114 |
- "-" + catpkgsplit(pkg.cpv)[3] |
115 |
+ for pos, old_pkg in enumerate(myoldbest): |
116 |
+ key = catpkgsplit(old_pkg.cpv)[2] + "-" + catpkgsplit(old_pkg.cpv)[3] |
117 |
if key[-3:] == "-r0": |
118 |
key = key[:-3] |
119 |
- if self.conf.verbosity == 3 and not self.quiet_repo_display: |
120 |
- key += _repo_separator + pkg.repo |
121 |
+ if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or |
122 |
+ (any(x.repo != self.portdb.repositories.mainRepo().name for x in myoldbest + [pkg]))): |
123 |
+ key += _repo_separator + old_pkg.repo |
124 |
versions.append(key) |
125 |
myoldbest_str = blue("["+", ".join(versions)+"]") |
126 |
return myoldbest_str |
127 |
@@ -395,7 +396,7 @@ class Display(object): |
128 |
"""Increments counters.interactive if the pkg is to |
129 |
be merged and it's metadata has interactive set True |
130 |
|
131 |
- @param pkg: _emerge.Package instance |
132 |
+ @param pkg: _emerge.Package.Package instance |
133 |
@param ordered: boolean |
134 |
@param addl: already defined string to add to |
135 |
""" |
136 |
@@ -411,11 +412,12 @@ class Display(object): |
137 |
|
138 |
@param addl: already defined string to add to |
139 |
@param pkg_info: dictionary |
140 |
- @param pkg: _emerge.Package instance |
141 |
+ @param pkg: _emerge.Package.Package instance |
142 |
@rtype string |
143 |
""" |
144 |
ver_str = pkg_info.ver |
145 |
- if self.conf.verbosity == 3 and not self.quiet_repo_display: |
146 |
+ if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or |
147 |
+ (any(x.repo != self.portdb.repositories.mainRepo().name for x in pkg_info.oldbest_list + [pkg]))): |
148 |
ver_str += _repo_separator + pkg.repo |
149 |
if self.conf.quiet: |
150 |
myprint = addl + " " + self.indent + \ |
151 |
@@ -448,12 +450,13 @@ class Display(object): |
152 |
|
153 |
@param addl: already defined string to add to |
154 |
@param pkg_info: dictionary |
155 |
- @param pkg: _emerge.Package instance |
156 |
+ @param pkg: _emerge.Package.Package instance |
157 |
@rtype string |
158 |
Modifies self.verboseadd |
159 |
""" |
160 |
ver_str = pkg_info.ver |
161 |
- if self.conf.verbosity == 3 and not self.quiet_repo_display: |
162 |
+ if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or |
163 |
+ (any(x.repo != self.portdb.repositories.mainRepo().name for x in pkg_info.oldbest_list + [pkg]))): |
164 |
ver_str += _repo_separator + pkg.repo |
165 |
if self.conf.quiet: |
166 |
myprint = addl + " " + self.indent + \ |
167 |
@@ -483,13 +486,14 @@ class Display(object): |
168 |
def _set_no_columns(self, pkg, pkg_info, addl): |
169 |
"""prints pkg info without column indentation. |
170 |
|
171 |
- @param pkg: _emerge.Package instance |
172 |
+ @param pkg: _emerge.Package.Package instance |
173 |
@param pkg_info: dictionary |
174 |
@param addl: the current text to add for the next line to output |
175 |
@rtype the updated addl |
176 |
""" |
177 |
pkg_str = pkg.cpv |
178 |
- if self.conf.verbosity == 3 and not self.quiet_repo_display: |
179 |
+ if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or |
180 |
+ (any(x.repo != self.portdb.repositories.mainRepo().name for x in pkg_info.oldbest_list + [pkg]))): |
181 |
pkg_str += _repo_separator + pkg.repo |
182 |
if not pkg_info.merge: |
183 |
addl = self.empty_space_in_brackets() |
184 |
@@ -634,7 +638,7 @@ class Display(object): |
185 |
def set_pkg_info(self, pkg, ordered): |
186 |
"""Sets various pkg_info dictionary variables |
187 |
|
188 |
- @param pkg: _emerge.Package instance |
189 |
+ @param pkg: _emerge.Package.Package instance |
190 |
@param ordered: bool |
191 |
@rtype pkg_info dictionary |
192 |
Modifies self.counters.restrict_fetch, |
193 |
@@ -678,7 +682,7 @@ class Display(object): |
194 |
def do_changelog(self, pkg, pkg_info): |
195 |
"""Processes and adds the changelog text to the master text for output |
196 |
|
197 |
- @param pkg: _emerge.Package instance |
198 |
+ @param pkg: _emerge.Package.Package instance |
199 |
@param pkg_info: dictionay |
200 |
Modifies self.changelogs |
201 |
""" |
202 |
@@ -697,7 +701,7 @@ class Display(object): |
203 |
def check_system_world(self, pkg): |
204 |
"""Checks for any occurances of the package in the system or world sets |
205 |
|
206 |
- @param pkg: _emerge.Package instance |
207 |
+ @param pkg: _emerge.Package.Package instance |
208 |
@rtype system and world booleans |
209 |
""" |
210 |
root_config = self.conf.roots[pkg.root] |
211 |
@@ -727,7 +731,7 @@ class Display(object): |
212 |
@staticmethod |
213 |
def get_ver_str(pkg): |
214 |
"""Obtains the version string |
215 |
- @param pkg: _emerge.Package instance |
216 |
+ @param pkg: _emerge.Package.Package instance |
217 |
@rtype string |
218 |
""" |
219 |
ver_str = list(catpkgsplit(pkg.cpv)[2:]) |
220 |
@@ -744,7 +748,7 @@ class Display(object): |
221 |
param is used for -u, where you still *do* want to see when |
222 |
something is being upgraded. |
223 |
|
224 |
- @param pkg: _emerge.Package instance |
225 |
+ @param pkg: _emerge.Package.Package instance |
226 |
@param pkg_info: dictionay |
227 |
@rtype addl, myoldbest: list, myinslotlist: list |
228 |
Modifies self.counters.reinst, self.counters.binary, self.counters.new |
229 |
@@ -816,6 +820,8 @@ class Display(object): |
230 |
# and disable the entire repo display in this case. |
231 |
repoadd_set = set() |
232 |
|
233 |
+ self.verbose_main_repo_display = "--verbose-main-repo-display" in depgraph._frozen_config.myopts |
234 |
+ |
235 |
for mylist_index in range(len(mylist)): |
236 |
pkg, depth, ordered = mylist[mylist_index] |
237 |
self.portdb = self.conf.trees[pkg.root]["porttree"].dbapi |
238 |
@@ -828,12 +834,12 @@ class Display(object): |
239 |
continue |
240 |
else: |
241 |
pkg_info = self.set_pkg_info(pkg, ordered) |
242 |
- addl, pkg_info.oldbest, myinslotlist = \ |
243 |
+ addl, pkg_info.oldbest_list, myinslotlist = \ |
244 |
self._get_installed_best(pkg, pkg_info) |
245 |
self.verboseadd = "" |
246 |
if self.quiet_repo_display: |
247 |
self.repoadd = None |
248 |
- self._display_use(pkg, pkg_info.oldbest, myinslotlist) |
249 |
+ self._display_use(pkg, pkg_info.oldbest_list, myinslotlist) |
250 |
self.recheck_hidden(pkg) |
251 |
if self.conf.verbosity == 3: |
252 |
if self.quiet_repo_display: |
253 |
@@ -846,7 +852,7 @@ class Display(object): |
254 |
|
255 |
self.oldlp = self.conf.columnwidth - 30 |
256 |
self.newlp = self.oldlp - 30 |
257 |
- pkg_info.oldbest = self.convert_myoldbest(pkg_info.oldbest) |
258 |
+ pkg_info.oldbest = self.convert_myoldbest(pkg, pkg_info.oldbest_list) |
259 |
pkg_info.system, pkg_info.world = \ |
260 |
self.check_system_world(pkg) |
261 |
addl = self.set_interactive(pkg, pkg_info.ordered, addl) |
262 |
@@ -862,7 +868,8 @@ class Display(object): |
263 |
addl, pkg_info, pkg) |
264 |
else: |
265 |
pkg_str = pkg.cpv |
266 |
- if self.conf.verbosity == 3 and not self.quiet_repo_display: |
267 |
+ if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or |
268 |
+ (any(x.repo != self.portdb.repositories.mainRepo().name for x in pkg_info.oldbest_list + [pkg]))): |
269 |
pkg_str += _repo_separator + pkg.repo |
270 |
if not pkg_info.merge: |
271 |
addl = self.empty_space_in_brackets() |
272 |
|
273 |
diff --git a/pym/_emerge/resolver/output_helpers.py b/pym/_emerge/resolver/output_helpers.py |
274 |
index 5e5e106..cda0b08 100644 |
275 |
--- a/pym/_emerge/resolver/output_helpers.py |
276 |
+++ b/pym/_emerge/resolver/output_helpers.py |
277 |
@@ -565,10 +565,9 @@ class PkgInfo(object): |
278 |
information about the pkg being printed. |
279 |
""" |
280 |
|
281 |
- __slots__ = ("ordered", "fetch_symbol", "operation", "merge", |
282 |
- "built", "cp", "ebuild_path", "repo_name", "repo_path_real", |
283 |
- "world", "system", "use", "oldbest", "ver" |
284 |
- ) |
285 |
+ __slots__ = ("built", "cp", "ebuild_path", "fetch_symbol", "merge", |
286 |
+ "oldbest", "oldbest_list", "operation", "ordered", |
287 |
+ "repo_name", "repo_path_real", "system", "use", "ver", "world") |
288 |
|
289 |
|
290 |
def __init__(self): |
291 |
@@ -578,6 +577,7 @@ class PkgInfo(object): |
292 |
self.fetch_symbol = '' |
293 |
self.merge = '' |
294 |
self.oldbest = '' |
295 |
+ self.oldbest_list = [] |
296 |
self.operation = '' |
297 |
self.ordered = False |
298 |
self.repo_path_real = '' |