commit:     7c94f3f7e2dce6860e847c841cdcfc6f3d41f3db
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 27 23:41:39 2013 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Feb 26 20:00:56 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=7c94f3f7

Strip trailing slash from subpath's if they exist when creating filenames.

This bug was introduced in commit 52c9d37ff5de18981d6ecbe5bdde524b2bf4ebda when 
a trailing slash was added to target_subpath.

---
 catalyst/base/stagebase.py        | 10 +++++-----
 catalyst/targets/livecd_stage2.py |  2 +-
 catalyst/targets/stage2.py        |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index eec74df..7395351 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -323,7 +323,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
 
        def set_target_path(self):
                
self.settings["target_path"]=normpath(self.settings["storedir"]+\
-                       "/builds/"+self.settings["target_subpath"]+".tar.bz2")
+                       
"/builds/"+self.settings["target_subpath"].rstrip('/')+".tar.bz2")
                if "autoresume" in self.settings["options"]\
                        and self.resume.is_enabled("setup_target_path"):
                        print \
@@ -407,7 +407,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
                                "/tmp/" + self.settings["source_subpath"] + "/")
                else:
                        
self.settings["source_path"]=normpath(self.settings["storedir"]+\
-                               
"/builds/"+self.settings["source_subpath"]+".tar.bz2")
+                               
"/builds/"+self.settings["source_subpath"].rstrip('/')+".tar.bz2")
                        if os.path.isfile(self.settings["source_path"]):
                                # XXX: Is this even necessary if the previous 
check passes?
                                if os.path.exists(self.settings["source_path"]):
@@ -422,7 +422,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
                        print "\tseedcache in the options of catalyst.conf the 
source path"
                        print "\twill then be "+\
                                normpath(self.settings["storedir"]+"/builds/"+\
-                               self.settings["source_subpath"]+".tar.bz2\n")
+                               
self.settings["source_subpath"].rstrip('/')+".tar.bz2\n")
 
        def set_dest_path(self):
                if "root_path" in self.settings:
@@ -438,7 +438,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
        def set_snapshot_path(self):
                
self.settings["snapshot_path"]=normpath(self.settings["storedir"]+\
                        "/snapshots/" + self.settings["snapshot_name"] +
-                       self.settings["snapshot"] + ".tar.xz")
+                       self.settings["snapshot"].rstrip('/')+".tar.xz")
 
                if os.path.exists(self.settings["snapshot_path"]):
                        self.settings["snapshot_path_hash"] = \
@@ -449,7 +449,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
                else:
                        
self.settings["snapshot_path"]=normpath(self.settings["storedir"]+\
                                "/snapshots/" + self.settings["snapshot_name"] +
-                               self.settings["snapshot"] + ".tar.bz2")
+                               
self.settings["snapshot"].rstrip('/')+".tar.bz2")
 
                        if os.path.exists(self.settings["snapshot_path"]):
                                self.settings["snapshot_path_hash"] = \

diff --git a/catalyst/targets/livecd_stage2.py 
b/catalyst/targets/livecd_stage2.py
index 55e6897..9f0733e 100644
--- a/catalyst/targets/livecd_stage2.py
+++ b/catalyst/targets/livecd_stage2.py
@@ -37,7 +37,7 @@ class livecd_stage2(StageBase):
                file_locate(self.settings, ["cdtar","controller_file"])
 
        def set_source_path(self):
-               
self.settings["source_path"]=normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"]+".tar.bz2")
+               
self.settings["source_path"]=normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"].rstrip('/')+".tar.bz2")
                if os.path.isfile(self.settings["source_path"]):
                        self.settings["source_path_hash"] = \
                                self.settings["hash_map"].generate_hash(

diff --git a/catalyst/targets/stage2.py b/catalyst/targets/stage2.py
index 884b20d..e54b5c9 100644
--- a/catalyst/targets/stage2.py
+++ b/catalyst/targets/stage2.py
@@ -22,7 +22,7 @@ class stage2(StageBase):
                if "seedcache" in self.settings["options"] and 
os.path.isdir(normpath(self.settings["storedir"]+"/tmp/"+self.settings["source_subpath"]+"/tmp/stage1root/")):
                        
self.settings["source_path"]=normpath(self.settings["storedir"]+"/tmp/"+self.settings["source_subpath"]+"/tmp/stage1root/")
                else:
-                       
self.settings["source_path"]=normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"]+".tar.bz2")
+                       
self.settings["source_path"]=normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"].rstrip('/')+".tar.bz2")
                        if os.path.isfile(self.settings["source_path"]):
                                if os.path.exists(self.settings["source_path"]):
                                # XXX: Is this even necessary if the previous 
check passes?
@@ -34,7 +34,7 @@ class stage2(StageBase):
                print "Source path set to "+self.settings["source_path"]
                if os.path.isdir(self.settings["source_path"]):
                        print "\tIf this is not desired, remove this directory 
or turn of seedcache in the options of catalyst.conf"
-                       print "\tthe source path will then be 
"+normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"]+".tar.bz2\n")
+                       print "\tthe source path will then be 
"+normpath(self.settings["storedir"]+"/builds/"+self.settings["source_subpath"].rstrip('/')+".tar.bz2\n")
 
        # XXX: How do these override_foo() functions differ from the ones in
        # StageBase and why aren't they in stage3_target?

Reply via email to