summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-05-26 01:59:13 +0000
committerZac Medico <zmedico@gentoo.org>2006-05-26 01:59:13 +0000
commitb3670dbc01e9e0074734e5c863c045c7c2e09122 (patch)
treee8bd365cd77db7823d3b8b90c01ea7fb3e699cdb /pym
parentb87e9db6ed8fcc32a9c043f2a5581f2300daedb4 (diff)
downloadportage-b3670dbc01e9e0074734e5c863c045c7c2e09122.tar.gz
portage-b3670dbc01e9e0074734e5c863c045c7c2e09122.tar.bz2
portage-b3670dbc01e9e0074734e5c863c045c7c2e09122.zip
Reset DISTDIR to it's original value before returning from doebuild() in order to prevent unexpected values for DISTDIR later on.
svn path=/main/trunk/; revision=3415
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/pym/portage.py b/pym/portage.py
index e46e3b62d..d604c9bae 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -2907,7 +2907,7 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
if not os.path.exists(mysettings["PKGDIR"]+x):
os.makedirs(mysettings["PKGDIR"]+x)
# REBUILD CODE FOR TBZ2 --- XXXX
- return spawnebuild(mydo,actionmap,mysettings,debug,logfile=logfile)
+ retval = spawnebuild(mydo, actionmap, mysettings, debug, logfile=logfile)
elif mydo=="qmerge":
#check to ensure install was run. this *only* pops up when users forget it and are using ebuild
if not os.path.exists(mysettings["PORTAGE_BUILDDIR"]+"/.installed"):
@@ -2917,22 +2917,30 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
if "noclean" not in mysettings.features:
mysettings.features.append("noclean")
#qmerge is specifically not supposed to do a runtime dep check
- return merge(mysettings["CATEGORY"], mysettings["PF"], mysettings["D"],
+ retval = merge(mysettings["CATEGORY"], mysettings["PF"], mysettings["D"],
os.path.join(mysettings["PORTAGE_BUILDDIR"], "build-info"), myroot,
mysettings, myebuild=mysettings["EBUILD"], mytree=tree,
mydbapi=mydbapi, vartree=vartree, prev_mtimes=prev_mtimes)
elif mydo=="merge":
- retval=spawnebuild("install",actionmap,mysettings,debug,alwaysdep=1,logfile=logfile)
- if retval:
- return retval
- return merge(mysettings["CATEGORY"], mysettings["PF"], mysettings["D"],
- os.path.join(mysettings["PORTAGE_BUILDDIR"], "build-info"), myroot,
- mysettings, myebuild=mysettings["EBUILD"], mytree=tree,
- mydbapi=mydbapi, vartree=vartree, prev_mtimes=prev_mtimes)
+ retval = spawnebuild("install", actionmap, mysettings, debug,
+ alwaysdep=1, logfile=logfile)
+ if retval == os.EX_OK:
+ retval = merge(mysettings["CATEGORY"], mysettings["PF"],
+ mysettings["D"], os.path.join(mysettings["PORTAGE_BUILDDIR"],
+ "build-info"), myroot, mysettings,
+ myebuild=mysettings["EBUILD"], mytree=tree, mydbapi=mydbapi,
+ vartree=vartree, prev_mtimes=prev_mtimes)
else:
print "!!! Unknown mydo:",mydo
sys.exit(1)
+ # Make sure that DISTDIR is restored to it's normal value before we return!
+ if "PORTAGE_ACTUAL_DISTDIR" in mysettings:
+ mysettings["DISTDIR"] = mysettings["PORTAGE_ACTUAL_DISTDIR"]
+ del mysettings["PORTAGE_ACTUAL_DISTDIR"]
+
+ return retval
+
expandcache={}
def movefile(src,dest,newmtime=None,sstat=None,mysettings=None):