On Thu, 8 Oct 2015 20:23:05 -0400 Mike Frysinger <[email protected]> wrote:
> 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. > --- > v2 > - do it better like an all star > > 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: looks good. There shouldn't be too many like this left now. I did as many as I could when changing the related code. But I know there was still more. -- Brian Dolbec <dolsen>
