Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11552 - in main/trunk/pym/portage: cache dbapi
Date: Fri, 26 Sep 2008 01:15:47
Message-Id: E1Kj1vs-0004m1-V1@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-09-26 01:15:44 +0000 (Fri, 26 Sep 2008)
3 New Revision: 11552
4
5 Modified:
6 main/trunk/pym/portage/cache/flat_hash.py
7 main/trunk/pym/portage/dbapi/porttree.py
8 Log:
9 Make flat_hash write keys in alphabetical order.
10
11
12 Modified: main/trunk/pym/portage/cache/flat_hash.py
13 ===================================================================
14 --- main/trunk/pym/portage/cache/flat_hash.py 2008-09-26 00:16:29 UTC (rev 11551)
15 +++ main/trunk/pym/portage/cache/flat_hash.py 2008-09-26 01:15:44 UTC (rev 11552)
16 @@ -16,7 +16,9 @@
17 super(database,self).__init__(*args, **config)
18 self.location = os.path.join(self.location,
19 self.label.lstrip(os.path.sep).rstrip(os.path.sep))
20 -
21 + write_keys = set(self._known_keys)
22 + write_keys.add("_eclasses_")
23 + self._write_keys = sorted(write_keys)
24 if not self.readonly and not os.path.exists(self.location):
25 self._ensure_dirs()
26
27 @@ -73,13 +75,14 @@
28 else:
29 raise cache_errors.CacheCorruption(cpv, e)
30
31 - for k, v in values.iteritems():
32 - if not v:
33 - continue
34 - if k != "_mtime_" and (k == "_eclasses_" or k in self._known_keys):
35 + try:
36 + for k in self._write_keys:
37 + v = values.get(k)
38 + if not v:
39 + continue
40 myf.write("%s=%s\n" % (k, v))
41 -
42 - myf.close()
43 + finally:
44 + myf.close()
45 self._ensure_access(fp, mtime=values["_mtime_"])
46
47 #update written. now we move it.
48
49 Modified: main/trunk/pym/portage/dbapi/porttree.py
50 ===================================================================
51 --- main/trunk/pym/portage/dbapi/porttree.py 2008-09-26 00:16:29 UTC (rev 11551)
52 +++ main/trunk/pym/portage/dbapi/porttree.py 2008-09-26 01:15:44 UTC (rev 11552)
53 @@ -172,6 +172,7 @@
54 # XXX: REMOVE THIS ONCE UNUSED_0 IS YANKED FROM auxdbkeys
55 # ~harring
56 filtered_auxdbkeys = filter(lambda x: not x.startswith("UNUSED_0"), auxdbkeys)
57 + filtered_auxdbkeys.sort()
58 if secpass < 1:
59 from portage.cache import metadata_overlay, volatile
60 for x in self.porttrees: