summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-20 04:02:21 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-20 04:02:21 +0000
commit8cf8f3ebbd5682428448f41e9fb4a43707fd5b3e (patch)
tree83545f7cc4f8d46f8c0bbf2656dc46206b75ab4c
parent40fba0f8f38d509c3c1bbea7ed18844daf5becab (diff)
downloadportage-8cf8f3ebbd5682428448f41e9fb4a43707fd5b3e.tar.gz
portage-8cf8f3ebbd5682428448f41e9fb4a43707fd5b3e.tar.bz2
portage-8cf8f3ebbd5682428448f41e9fb4a43707fd5b3e.zip
Bug #202748 - When merging a binary package, only clean up
temp files on success. Otherwise, leave the temp files intact for debugging purposes. (trunk r8971) svn path=/main/branches/2.1.2/; revision=8972
-rw-r--r--pym/portage.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 1a05a0712..bf27c1fa5 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -9439,6 +9439,7 @@ def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, vartree=None, prev_mtimes
mycat = None
mypkg = None
did_merge_phase = False
+ success = False
try:
""" Don't lock the tbz2 file because the filesytem could be readonly or
shared by a cluster."""
@@ -9516,6 +9517,7 @@ def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, vartree=None, prev_mtimes
retval = mylink.merge(pkgloc, infloc, myroot, myebuild, cleanup=0,
mydbapi=mydbapi, prev_mtimes=prev_mtimes)
did_merge_phase = True
+ success = retval == os.EX_OK
return retval
finally:
mysettings.pop("PORTAGE_BINPKG_FILE", None)
@@ -9528,7 +9530,8 @@ def pkgmerge(mytbz2, myroot, mysettings, mydbapi=None, vartree=None, prev_mtimes
# so that it's only called once.
elog_process(mycat + "/" + mypkg, mysettings)
try:
- shutil.rmtree(builddir)
+ if success:
+ shutil.rmtree(builddir)
except (IOError, OSError), e:
if e.errno != errno.ENOENT:
raise