pkg_pretend: keep temp on failure for bug #442536
authorZac Medico <zmedico@gentoo.org>
Sun, 11 Nov 2012 17:57:52 +0000 (09:57 -0800)
committerZac Medico <zmedico@gentoo.org>
Sun, 11 Nov 2012 17:57:52 +0000 (09:57 -0800)
pym/_emerge/Scheduler.py

index 99493ea6a8c16b80cca158cd983908e95bd7f992..5714faf7d04f6aec794bf989cad1698b3600f3ee 100644 (file)
@@ -905,13 +905,18 @@ class Scheduler(PollScheduler):
                                        failures += 1
                                portage.elog.elog_process(x.cpv, settings)
                        finally:
-                               if current_task is not None and current_task.isAlive():
-                                       current_task.cancel()
-                                       current_task.wait()
-                               clean_phase = EbuildPhase(background=False,
-                                       phase='clean', scheduler=sched_iface, settings=settings)
-                               clean_phase.start()
-                               clean_phase.wait()
+
+                               if current_task is not None:
+                                       if current_task.isAlive():
+                                               current_task.cancel()
+                                               current_task.wait()
+                                       if current_task.returncode == os.EX_OK:
+                                               clean_phase = EbuildPhase(background=False,
+                                                       phase='clean', scheduler=sched_iface,
+                                                       settings=settings)
+                                               clean_phase.start()
+                                               clean_phase.wait()
+
                                build_dir.unlock()
 
                if failures: