commit: cd88eafe9567138fb8aaa2253df2160e40548d20
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 8 22:39:12 2015 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Fri Oct 9 00:22:12 2015 +0000
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=cd88eafe
stagebase: fix path to snapshot hash file
When we write the hash, we do so by using:
snapshot_cache_path + / + catalyst-hash
But when we read it, we do so by:
snapshot_cache_path + catalyst-hash
If the path lacks a trailing /, then we never read the correct hash
file. The current helper returns -1 on missing file errors which is
compared against the existing hash. In essence, we always trigger a
cache miss.
Clean up the code to properly create the path and use that var in both
places to prevent future breakage.
catalyst/base/stagebase.py | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index f81c51b..7d069fa 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -815,9 +815,9 @@ class StageBase(TargetBase, ClearBase, GenBase):
print self.settings["chroot_path"]
print "unpack(), target_portdir = " + target_portdir
if "snapcache" in self.settings["options"]:
- snapshot_cache_hash=\
-
read_from_clst(self.settings["snapshot_cache_path"]+\
- "catalyst-hash")
+ snapshot_cache_hash_path = pjoin(
+ self.settings['snapshot_cache_path'],
'catalyst-hash')
+ snapshot_cache_hash =
read_from_clst(snapshot_cache_hash_path)
unpack_info['mode'] = self.decompressor.determine_mode(
unpack_info['source'])
@@ -862,8 +862,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
print unpack_errmsg %(unpack_info)
if "snapcache" in self.settings["options"]:
- myf=open(self.settings["snapshot_cache_path"] +
- "/" + "catalyst-hash","w")
+ myf = open(snapshot_cache_hash_path, 'w')
myf.write(self.settings["snapshot_path_hash"])
myf.close()
else: