Migrate more hardcoded paths to use settings variables instead.

Signed-off-by: Brian Dolbec <[email protected]>
---
 modules/generic_stage_target.py | 80 ++++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 40 deletions(-)

diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py
index c79f8ae..927b4c3 100644
--- a/modules/generic_stage_target.py
+++ b/modules/generic_stage_target.py
@@ -179,11 +179,11 @@ class generic_stage_target(generic_target):
                                
"/usr/portage":self.settings["snapshot_cache_path"]+"/portage",\
                                
"/usr/portage/distfiles":self.settings["distdir"],"/var/tmp/portage":"tmpfs"}
                else:
-                       
self.mounts=["/proc","/dev","/usr/portage/distfiles","/var/tmp/portage"]
-                       
self.mountmap={"/proc":"/proc","/dev":"/dev","/dev/pts":"/dev/pts",\
-                               
"/usr/portage/distfiles":self.settings["distdir"],"/var/tmp/portage":"tmpfs"}
+                       self.mounts=["proc","dev", "distdir", "port_tmpdir"]
+                       self.mountmap={"proc":"/proc", "dev":"/dev", 
"pts":"/dev/pts",
+                               "distdir":self.settings["distdir"], 
"port_tmpdir":"tmpfs"}
                if os.uname()[0] == "Linux":
-                       self.mounts.append("/dev/pts")
+                       self.mounts.append("pts")
 
                self.set_mounts()
 
@@ -195,16 +195,15 @@ class generic_stage_target(generic_target):
                        self.set_pkgcache_path()
                        print "Location of the package cache is "+\
                                self.settings["pkgcache_path"]
-                       self.mounts.append("/usr/portage/packages")
-                       self.mountmap["/usr/portage/packages"]=\
-                               self.settings["pkgcache_path"]
+                       self.mounts.append("packagedir")
+                       self.mountmap["packagedir"] = 
self.settings["pkgcache_path"]
 
                if "KERNCACHE" in self.settings:
                        self.set_kerncache_path()
                        print "Location of the kerncache is "+\
                                self.settings["kerncache_path"]
-                       self.mounts.append("/tmp/kerncache")
-                       
self.mountmap["/tmp/kerncache"]=self.settings["kerncache_path"]
+                       self.mounts.append("kerncache")
+                       
self.mountmap["kerncache"]=self.settings["kerncache_path"]
 
                if "CCACHE" in self.settings:
                        if "CCACHE_DIR" in os.environ:
@@ -216,8 +215,8 @@ class generic_stage_target(generic_target):
                                raise CatalystError,\
                                        "Compiler cache support can't be 
enabled (can't find "+\
                                        ccdir+")"
-                       self.mounts.append("/var/tmp/ccache")
-                       self.mountmap["/var/tmp/ccache"]=ccdir
+                       self.mounts.append("ccache")
+                       self.mountmap["ccache"]=ccdir
                        """ for the chroot: """
                        self.env["CCACHE_DIR"]="/var/tmp/ccache"
 
@@ -406,7 +405,7 @@ class generic_stage_target(generic_target):
 
        def set_cleanables(self):
                
self.settings["cleanables"]=["/etc/resolv.conf","/var/tmp/*","/tmp/*",\
-                       "/root/*","/usr/portage"]
+                       "/root/*", self.settings["portdir"]]
 
        def set_snapshot_path(self):
                
self.settings["snapshot_path"]=normpath(self.settings["storedir"]+\
@@ -615,21 +614,21 @@ class generic_stage_target(generic_target):
                        return
 
                for x in self.mounts:
-                       if not os.path.exists(mypath+x):
+                       if not os.path.exists(mypath + self.mountmap[x]):
                                continue
 
-                       if ismount(mypath+x):
+                       if ismount(mypath +self.mountmap[x]):
                                """ Something is still mounted "" """
                                try:
-                                       print x+" is still mounted; performing 
auto-bind-umount...",
+                                       print self.mountmap[x] + " is still 
mounted; performing auto-bind-umount...",
                                        """ Try to umount stuff ourselves """
                                        self.unbind()
-                                       if ismount(mypath+x):
-                                               raise CatalystError, 
"Auto-unbind failed for "+x
+                                       if ismount(mypath + self.mountmap[x]):
+                                               raise CatalystError, 
"Auto-unbind failed for " + self.mountmap[x]
                                        else:
                                                print "Auto-unbind 
successful..."
                                except CatalystError:
-                                       raise CatalystError, "Unable to 
auto-unbind "+x
+                                       raise CatalystError, "Unable to 
auto-unbind " + self.mountmap[x]
 
        def unpack(self):
                unpack=True
@@ -787,7 +786,7 @@ class generic_stage_target(generic_target):
                                print "Valid snapshot cache, skipping unpack of 
portage tree..."
                                unpack=False
                else:
-                       
destdir=normpath(self.settings["chroot_path"]+"/usr/portage")
+                       destdir=normpath(self.settings["chroot_path"] + 
self.settings["portdir"])
                        cleanup_errmsg="Error removing existing snapshot 
directory."
                        cleanup_msg=\
                                "Cleaning up existing portage tree (This can 
take a long time)..."
@@ -801,7 +800,7 @@ class generic_stage_target(generic_target):
 
                        if "AUTORESUME" in self.settings \
                                and 
os.path.exists(self.settings["chroot_path"]+\
-                                       "/usr/portage/") \
+                                       self.settings["portdir"]) \
                                and 
os.path.exists(self.settings["autoresume_path"]\
                                        +"unpack_portage") \
                                and self.settings["snapshot_path_hash"] == 
snapshot_hash:
@@ -848,7 +847,7 @@ class generic_stage_target(generic_target):
                        cmd("rm -f 
"+self.settings["chroot_path"]+"/etc/portage/make.profile",\
                                        "Error zapping profile 
link",env=self.env)
                        cmd("mkdir -p 
"+self.settings["chroot_path"]+"/etc/portage/")
-                       cmd("ln -sf ../../usr/portage/profiles/"+\
+                       cmd("ln -sf ../.." + self.settings["portdir"] + 
"/profiles/"+\
                                self.settings["target_profile"]+" "+\
                                
self.settings["chroot_path"]+"/etc/portage/make.profile",\
                                "Error creating profile link",env=self.env)
@@ -874,10 +873,10 @@ class generic_stage_target(generic_target):
                                if os.path.exists(x):
                                        print "Copying overlay dir " +x
                                        cmd("mkdir -p 
"+self.settings["chroot_path"]+\
-                                               "/usr/local/portage",\
+                                               self.settings["local_overlay"],\
                                                "Could not make portage_overlay 
dir",env=self.env)
                                        cmd("cp -R "+x+"/* 
"+self.settings["chroot_path"]+\
-                                               "/usr/local/portage",\
+                                               self.settings["local_overlay"],\
                                                "Could not copy 
portage_overlay",env=self.env)
 
        def root_overlay(self):
@@ -897,7 +896,7 @@ class generic_stage_target(generic_target):
 
        def bind(self):
                for x in self.mounts:
-                       if not os.path.exists(self.settings["chroot_path"]+x):
+                       if not os.path.exists(self.settings["chroot_path"] + 
self.mountmap[x]):
                                os.makedirs(self.settings["chroot_path"]+x,0755)
 
                        if not os.path.exists(self.mountmap[x]):
@@ -909,11 +908,11 @@ class generic_stage_target(generic_target):
                                self.snapshot_lock_object.read_lock()
                        if os.uname()[0] == "FreeBSD":
                                if src == "/dev":
-                                       retval=os.system("mount -t devfs none 
"+\
-                                               self.settings["chroot_path"]+x)
+                                       retval=os.system("mount -t devfs none " 
+
+                                               self.settings["chroot_path"] + 
src)
                                else:
-                                       retval=os.system("mount_nullfs "+src+" 
"+\
-                                               self.settings["chroot_path"]+x)
+                                       retval=os.system("mount_nullfs " + src 
+ " " +
+                                               self.settings["chroot_path"] + 
src)
                        else:
                                if src == "tmpfs":
                                        if "var_tmpfs_portage" in self.settings:
@@ -921,11 +920,11 @@ class generic_stage_target(generic_target):
                                                        
self.settings["var_tmpfs_portage"]+"G "+src+" "+\
                                                        
self.settings["chroot_path"]+x)
                                else:
-                                       retval=os.system("mount --bind "+src+" 
"+\
-                                               self.settings["chroot_path"]+x)
+                                       retval=os.system("mount --bind " + src 
+ " " +
+                                               self.settings["chroot_path"] + 
src)
                        if retval!=0:
                                self.unbind()
-                               raise CatalystError,"Couldn't bind mount "+src
+                               raise CatalystError,"Couldn't bind mount " + src
 
        def unbind(self):
                ouch=0
@@ -934,25 +933,26 @@ class generic_stage_target(generic_target):
                myrevmounts.reverse()
                """ Unmount in reverse order for nested bind-mounts """
                for x in myrevmounts:
-                       if not os.path.exists(mypath+x):
+                       if not os.path.exists(mypath + self.mountmap[x]):
                                continue
 
-                       if not ismount(mypath+x):
+                       if not ismount(mypath + self.mountmap[x]):
                                continue
 
                        retval=os.system("umount "+\
-                               os.path.join(mypath,x.lstrip(os.path.sep)))
+                               os.path.join(mypath, 
self.mountmap[x].lstrip(os.path.sep)))
 
                        if retval!=0:
-                               warn("First attempt to unmount: "+mypath+x+" 
failed.")
+                               warn("First attempt to unmount: " + mypath +
+                                       self.mountmap[x] +" failed.")
                                warn("Killing any pids still running in the 
chroot")
 
                                self.kill_chroot_pids()
 
-                               retval2=os.system("umount "+mypath+x)
+                               retval2=os.system("umount " + mypath + 
self.mountmap[x])
                                if retval2!=0:
                                        ouch=1
-                                       warn("Couldn't umount bind mount: 
"+mypath+x)
+                                       warn("Couldn't umount bind mount: " + 
mypath + self.mountmap[x])
 
                        if "SNAPCACHE" in self.settings and x == "/usr/portage":
                                try:
@@ -1114,9 +1114,9 @@ class generic_stage_target(generic_target):
                                "Could not replace /etc/hosts",env=self.env)
 
                """ Remove our overlay """
-               if 
os.path.exists(self.settings["chroot_path"]+"/usr/local/portage"):
-                       cmd("rm -rf 
"+self.settings["chroot_path"]+"/usr/local/portage",\
-                               "Could not remove 
/usr/local/portage",env=self.env)
+               if os.path.exists(self.settings["chroot_path"] + 
self.settings["local_overlay"]):
+                       cmd("rm -rf " + self.settings["chroot_path"] + 
self.settings["local_overlay"],
+                               "Could not remove " + 
self.settings["local_overlay"], env=self.env)
                        cmd("sed -i '/^PORTDIR_OVERLAY/d' 
"+self.settings["chroot_path"]+\
                                "/etc/portage/make.conf",\
                                "Could not remove PORTDIR_OVERLAY from 
make.conf",env=self.env)
-- 
1.8.1.4


Reply via email to