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: |