In EbuildFetcher._set_returncode(), don't clean up PORTAGE_BUILDDIR if
keepwork or keeptemp are in FEATURES.

svn path=/main/trunk/; revision=11661
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 29c7199..65093dd 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2295,7 +2295,9 @@
 					elog_out.close()
 			if not self.prefetch:
 				portage.elog.elog_process(self.pkg.cpv, self._build_dir.settings)
-			if self.fetchonly or self.returncode == os.EX_OK:
+			features = self._build_dir.settings.features
+			if (self.fetchonly or self.returncode == os.EX_OK) and \
+				not ("keepwork" in features or "keeptemp" in features):
 				try:
 					shutil.rmtree(self._build_dir.settings["PORTAGE_BUILDDIR"])
 				except EnvironmentError, e: