1 |
Author: zmedico |
2 |
Date: 2009-04-30 06:57:26 +0000 (Thu, 30 Apr 2009) |
3 |
New Revision: 13458 |
4 |
|
5 |
Modified: |
6 |
main/branches/2.1.6/bin/egencache |
7 |
Log: |
8 |
If there are not ebuilds matching a argument, only generate an error if there |
9 |
are also no cache entries matching the argument. (trunk r13287) |
10 |
|
11 |
Modified: main/branches/2.1.6/bin/egencache |
12 |
=================================================================== |
13 |
--- main/branches/2.1.6/bin/egencache 2009-04-30 06:57:04 UTC (rev 13457) |
14 |
+++ main/branches/2.1.6/bin/egencache 2009-04-30 06:57:26 UTC (rev 13458) |
15 |
@@ -176,14 +176,8 @@ |
16 |
def run(self): |
17 |
self._regen.run() |
18 |
self.returncode |= self._regen.returncode |
19 |
+ cp_missing = self._cp_missing |
20 |
|
21 |
- if self._cp_missing: |
22 |
- self.returncode |= 1 |
23 |
- for cp in sorted(self._cp_missing): |
24 |
- writemsg_level( |
25 |
- "No ebuilds found for '%s'\n" % (cp,), |
26 |
- level=logging.ERROR, noiselevel=-1) |
27 |
- |
28 |
trg_cache = self._trg_cache |
29 |
dead_nodes = None |
30 |
if self._global_cleanse: |
31 |
@@ -200,10 +194,18 @@ |
32 |
else: |
33 |
cp_set = self._cp_set |
34 |
cpv_getkey = portage.cpv_getkey |
35 |
+ dead_nodes = set() |
36 |
try: |
37 |
- dead_nodes = set(cpv for cpv in \ |
38 |
- trg_cache.iterkeys() \ |
39 |
- if cpv_getkey(cpv) in cp_set) |
40 |
+ for cpv in trg_cache.iterkeys(): |
41 |
+ cp = cpv_getkey(cpv) |
42 |
+ if cp is None: |
43 |
+ writemsg_level( |
44 |
+ "Unable to parse cp for '%s'\n" % (cpv,), |
45 |
+ level=logging.ERROR, noiselevel=-1) |
46 |
+ else: |
47 |
+ cp_missing.discard(cp) |
48 |
+ if cp in cp_set: |
49 |
+ dead_nodes.add(cpv) |
50 |
except CacheError, ce: |
51 |
self.returncode |= 1 |
52 |
writemsg_level( |
53 |
@@ -212,6 +214,13 @@ |
54 |
(self._portdb.porttree_root, ce), |
55 |
level=logging.ERROR, noiselevel=-1) |
56 |
|
57 |
+ if cp_missing: |
58 |
+ self.returncode |= 1 |
59 |
+ for cp in sorted(cp_missing): |
60 |
+ writemsg_level( |
61 |
+ "No ebuilds or cache entries found for '%s'\n" % (cp,), |
62 |
+ level=logging.ERROR, noiselevel=-1) |
63 |
+ |
64 |
if dead_nodes: |
65 |
dead_nodes.difference_update(self._existing_nodes) |
66 |
for k in dead_nodes: |