1 |
Author: zmedico |
2 |
Date: 2009-04-03 01:20:00 +0000 (Fri, 03 Apr 2009) |
3 |
New Revision: 13282 |
4 |
|
5 |
Modified: |
6 |
main/trunk/bin/egencache |
7 |
Log: |
8 |
Generate an error if there are no ebuilds found for a package that's |
9 |
specified on the commandline. |
10 |
|
11 |
|
12 |
Modified: main/trunk/bin/egencache |
13 |
=================================================================== |
14 |
--- main/trunk/bin/egencache 2009-04-02 17:58:39 UTC (rev 13281) |
15 |
+++ main/trunk/bin/egencache 2009-04-03 01:20:00 UTC (rev 13282) |
16 |
@@ -116,8 +116,10 @@ |
17 |
if cp_iter is not None: |
18 |
self._cp_set = set(cp_iter) |
19 |
cp_iter = iter(self._cp_set) |
20 |
+ self._cp_missing = self._cp_set.copy() |
21 |
else: |
22 |
self._cp_set = None |
23 |
+ self._cp_missing = set() |
24 |
self._regen = _emerge.MetadataRegen(portdb, cp_iter=cp_iter, |
25 |
consumer=self._metadata_callback, |
26 |
max_jobs=max_jobs, max_load=max_load) |
27 |
@@ -131,6 +133,7 @@ |
28 |
|
29 |
def _metadata_callback(self, cpv, ebuild_path, repo_path, metadata): |
30 |
self._existing_nodes.add(cpv) |
31 |
+ self._cp_missing.discard(portage.cpv_getkey(cpv)) |
32 |
if metadata is not None: |
33 |
if metadata.get('EAPI') == '0': |
34 |
del metadata['EAPI'] |
35 |
@@ -174,6 +177,13 @@ |
36 |
self._regen.run() |
37 |
self.returncode |= self._regen.returncode |
38 |
|
39 |
+ if self._cp_missing: |
40 |
+ self.returncode |= 1 |
41 |
+ for cp in sorted(self._cp_missing): |
42 |
+ writemsg_level( |
43 |
+ "No ebuilds found for '%s'\n" % (cp,), |
44 |
+ level=logging.ERROR, noiselevel=-1) |
45 |
+ |
46 |
trg_cache = self._trg_cache |
47 |
dead_nodes = None |
48 |
if self._global_cleanse: |