summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-11-16 19:43:00 -0800
committerZac Medico <zmedico@gentoo.org>2011-11-16 19:43:00 -0800
commitb552912a54d0240325c1b3b8bef744ea04a513f8 (patch)
treed4e83ddbbdaef9f8715c603ea89792d5ee152338 /pym
parentc8beeac6f90b60d093e6ff5800744e45b632e2fa (diff)
downloadportage-b552912a54d0240325c1b3b8bef744ea04a513f8.tar.gz
portage-b552912a54d0240325c1b3b8bef744ea04a513f8.tar.bz2
portage-b552912a54d0240325c1b3b8bef744ea04a513f8.zip
pkg_pretend: tweak final cleanup logic
This ensures that the clean phase will not run if the user interrupts emerge before the build dir is locked.
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/Scheduler.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index fb8fdfb73..261fa9569 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -923,13 +923,12 @@ class Scheduler(PollScheduler):
os.path.realpath(settings["PORTAGE_TMPDIR"]),
"portage", x.category, x.pf)
existing_buildir = os.path.isdir(build_dir_path)
- build_dir = None
+ settings["PORTAGE_BUILDDIR"] = build_dir_path
+ build_dir = EbuildBuildDir(scheduler=sched_iface,
+ settings=settings)
+ build_dir.lock()
try:
- settings["PORTAGE_BUILDDIR"] = build_dir_path
- build_dir = EbuildBuildDir(scheduler=sched_iface,
- settings=settings)
- build_dir.lock()
# Clean up the existing build dir, in case pkg_pretend
# checks for available space (bug #390711).
@@ -1005,12 +1004,11 @@ class Scheduler(PollScheduler):
failures += 1
portage.elog.elog_process(x.cpv, settings)
finally:
- if build_dir is not None:
- clean_phase = EbuildPhase(background=False,
- phase='clean', scheduler=sched_iface, settings=settings)
- clean_phase.start()
- clean_phase.wait()
- build_dir.unlock()
+ clean_phase = EbuildPhase(background=False,
+ phase='clean', scheduler=sched_iface, settings=settings)
+ clean_phase.start()
+ clean_phase.wait()
+ build_dir.unlock()
if failures:
return 1