Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r13459 - main/branches/2.1.6/bin
Date: Thu, 30 Apr 2009 06:57:45
Message-Id: E1LzQDH-0005ld-QP@stork.gentoo.org
1 Author: zmedico
2 Date: 2009-04-30 06:57:43 +0000 (Thu, 30 Apr 2009)
3 New Revision: 13459
4
5 Modified:
6 main/branches/2.1.6/bin/egencache
7 Log:
8 Always generate an error if the target cache contains an apparently invalid
9 cpv. (trunk r13288)
10
11 Modified: main/branches/2.1.6/bin/egencache
12 ===================================================================
13 --- main/branches/2.1.6/bin/egencache 2009-04-30 06:57:26 UTC (rev 13458)
14 +++ main/branches/2.1.6/bin/egencache 2009-04-30 06:57:43 UTC (rev 13459)
15 @@ -26,6 +26,7 @@
16 import _emerge
17 from portage.cache.cache_errors import CacheError, StatCollision
18 from portage.util import writemsg_level
19 +from portage import cpv_getkey
20
21 def parse_args(args):
22 usage = "egencache [options] --update [atom] ..."
23 @@ -133,7 +134,7 @@
24
25 def _metadata_callback(self, cpv, ebuild_path, repo_path, metadata):
26 self._existing_nodes.add(cpv)
27 - self._cp_missing.discard(portage.cpv_getkey(cpv))
28 + self._cp_missing.discard(cpv_getkey(cpv))
29 if metadata is not None:
30 if metadata.get('EAPI') == '0':
31 del metadata['EAPI']
32 @@ -179,10 +180,18 @@
33 cp_missing = self._cp_missing
34
35 trg_cache = self._trg_cache
36 - dead_nodes = None
37 + dead_nodes = set()
38 if self._global_cleanse:
39 try:
40 - dead_nodes = set(trg_cache.iterkeys())
41 + for cpv in trg_cache.iterkeys():
42 + cp = cpv_getkey(cpv)
43 + if cp is None:
44 + self.returncode |= 1
45 + writemsg_level(
46 + "Unable to parse cp for '%s'\n" % (cpv,),
47 + level=logging.ERROR, noiselevel=-1)
48 + else:
49 + dead_nodes.add(cpv)
50 except CacheError, ce:
51 self.returncode |= 1
52 writemsg_level(
53 @@ -193,12 +202,11 @@
54
55 else:
56 cp_set = self._cp_set
57 - cpv_getkey = portage.cpv_getkey
58 - dead_nodes = set()
59 try:
60 for cpv in trg_cache.iterkeys():
61 cp = cpv_getkey(cpv)
62 if cp is None:
63 + self.returncode |= 1
64 writemsg_level(
65 "Unable to parse cp for '%s'\n" % (cpv,),
66 level=logging.ERROR, noiselevel=-1)