From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 7134B13827E for ; Sat, 14 Dec 2013 04:24:42 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3B305E0B38; Sat, 14 Dec 2013 04:24:41 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A1A50E0B38 for ; Sat, 14 Dec 2013 04:24:40 +0000 (UTC) Received: from [192.168.1.13] (pool-72-95-221-222.pitbpa.fios.verizon.net [72.95.221.222]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: zerochaos) by smtp.gentoo.org (Postfix) with ESMTPSA id 36C0A33F3D3 for ; Sat, 14 Dec 2013 04:24:39 +0000 (UTC) Message-ID: <52ABDDF0.3080600@gentoo.org> Date: Fri, 13 Dec 2013 23:26:24 -0500 From: "Rick \"Zero_Chaos\" Farina" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org MIME-Version: 1.0 To: gentoo-catalyst@lists.gentoo.org Subject: Re: [gentoo-catalyst] [PATCH 2/4] Remove self.mounts and self.mountmap's use of paths for keys and paths. References: <1386990436-9198-1-git-send-email-dolsen@gentoo.org> <1386990436-9198-3-git-send-email-dolsen@gentoo.org> In-Reply-To: <1386990436-9198-3-git-send-email-dolsen@gentoo.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: 364d340a-ec53-4fe0-92c6-170dca4c28f4 X-Archives-Hash: 46ff709f3e7ed1a3dd2486e37bf18624 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/13/2013 10:07 PM, Brian Dolbec wrote: > Migrate more hardcoded paths to use settings variables instead. > --- > catalyst | 3 ++ > modules/generic_stage_target.py | 80 ++++++++++++++++++++--------------------- > 2 files changed, 43 insertions(+), 40 deletions(-) > > diff --git a/catalyst b/catalyst > index 19ec77e..60cea3e 100755 > --- a/catalyst > +++ b/catalyst > @@ -62,8 +62,11 @@ def parse_config(myconfig): > config_file="" > > confdefaults={ > + "distdir": "/usr/portage/distfiles", > "hash_function": "crc32", > + "packagedir": "/usr/portage/packages", > "portdir": "/usr/portage", > + "port_tmpdir": "/var/tmp/portage", > "repo_name": "portage", > "sharedir": "/usr/lib/catalyst", > "snapshot_name": "portage-", > diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py > index c2888b6..342c65b 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") this should be "devpts" since that's how it is named in mounts anyway. - -Zero > > 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: > @@ -1118,9 +1118,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) > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSq93wAAoJEKXdFCfdEflKSkgQAKZROZEkF40YRVInP9T2eGVQ S7C4BjXL0Qos74azrlOJooZO43v2N4tkEmYg8rt/Wq44eGWHjku6If1+tnwKNx4m nhzHQlT6tE+M8ZMSKMEu5H+pWIPH8d2YKy40ljpPNlTFBty0q64KRMTHNs0ysuQA DiuqbY2L/CKOV4rcNrflMQPyf77D8arBULUOufBDs/D5M7O3wdiOaqAGr0GOqUbm JG438VtaJLm4OHr8bOtJU4fk9I5yWp2igZAL3bhN9HUqfh+mTJkzjDsdSDpx6+hu SZHe8CSnCpe4SVSKCppUzXdbSCLuLsF/dYAt06wnYWDZ68IiZDwOLu/AXLIjfzjV f/6WCZlK2MHiFfgHC4BE+3xIKvMSOVvS72cM8BHD2gIvSsXibzWX6VG/DvZRpqHK 3uCDlR4JUc1Yenx842C2S9DjG6vRD6ISLKRML8DvvK0NjbmHR1BUNrm2WpB6jGD3 Lsx3hK62bKcWWT4e9exwKiqVIfqzGEZRNaWuHIimxNto9T8xoz7ss0Vvl9w9f2Ml cF6FSic8tUuJFWdG/itna75ddALYbNqH4wRHMnOC0mOPAU79sKDxuUPo3P2bK4q4 di3oKlOflry9LxV1jpyK6tRFSR1rogg3NN6yGvijKSpbT04zozJm2dNo62o2k9EC dnft0lEhKkksRngGU9VZ =eYhc -----END PGP SIGNATURE-----