summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-30 11:16:08 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-30 11:16:08 +0000
commit24469ce8987d3f1ed5f1cef1b248f45fc59569f5 (patch)
tree98e4f11561628400feb474626035786f9abfaefe /pym
parentb74bf9d6ad8ef6e743efa78a1d97699d91e3f68e (diff)
downloadportage-24469ce8987d3f1ed5f1cef1b248f45fc59569f5.tar.gz
portage-24469ce8987d3f1ed5f1cef1b248f45fc59569f5.tar.bz2
portage-24469ce8987d3f1ed5f1cef1b248f45fc59569f5.zip
Fix pkgmerge() to work without dependance on global variables.
svn path=/main/trunk/; revision=3717
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/pym/portage.py b/pym/portage.py
index f82045fcf..4e3a89035 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6752,8 +6752,9 @@ class FetchlistDict(UserDict.DictMixin):
"""Returns keys for all packages within pkgdir"""
return self.portdb.cp_list(self.cp, mytree=self.mytree)
-def cleanup_pkgmerge(mypkg,origdir):
- global settings
+def cleanup_pkgmerge(mypkg, origdir, settings=None):
+ if settings is None:
+ settings = globals()["settings"]
shutil.rmtree(settings["PORTAGE_TMPDIR"]+"/binpkgs/"+mypkg)
if os.path.exists(settings["PORTAGE_TMPDIR"]+"/portage/"+mypkg+"/temp/environment"):
os.unlink(settings["PORTAGE_TMPDIR"]+"/portage/"+mypkg+"/temp/environment")
@@ -6804,14 +6805,16 @@ def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, vartree=None, prev_mtimes
notok=spawn("bzip2 -dqc -- '"+mytbz2+"' | tar xpf -",mysettings,free=1)
if notok:
print "!!! Error Extracting",mytbz2
- cleanup_pkgmerge(mypkg,origdir)
+ cleanup_pkgmerge(mypkg, origdir, settings=mysettings)
return None
# the merge takes care of pre/postinst and old instance
# auto-unmerge, virtual/provides updates, etc.
mysettings.load_infodir(infloc)
- mylink=dblink(mycat,mypkg,myroot,mysettings,treetype="bintree")
- mylink.merge(pkgloc, infloc, myroot, myebuild, cleanup=1, prev_mtimes=prev_mtimes)
+ mylink = dblink(mycat, mypkg, myroot, mysettings, vartree=vartree,
+ treetype="bintree")
+ mylink.merge(pkgloc, infloc, myroot, myebuild, cleanup=1, mydbapi=mydbapi,
+ prev_mtimes=prev_mtimes)
if not os.path.exists(infloc+"/RDEPEND"):
returnme=""
@@ -6820,7 +6823,7 @@ def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, vartree=None, prev_mtimes
a=open(infloc+"/RDEPEND","r")
returnme=string.join(string.split(a.read())," ")
a.close()
- cleanup_pkgmerge(mypkg,origdir)
+ cleanup_pkgmerge(mypkg, origdir, settings=mysettings)
return returnme
def deprecated_profile_check():