From: Michael Tremer Date: Sat, 26 Feb 2011 08:04:10 +0000 (+0100) Subject: Better cleanup for build environments. X-Git-Tag: 0.9.3~113^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a0f44cc68b62591c3b587341623c10cb6e58679;p=pakfire.git Better cleanup for build environments. Build environments where not cleaned up completely if an exception was raised or the user interupted the build. --- diff --git a/pakfire/__init__.py b/pakfire/__init__.py index ced0aae8e..57630ce04 100644 --- a/pakfire/__init__.py +++ b/pakfire/__init__.py @@ -114,9 +114,10 @@ class Pakfire(object): resultdirs.append(self.repos.local_build.path) b = builder.Builder(pakfire=self, pkg=pkg) - b.extract() try: + b.prepare() + b.extract() b.build() # Copy-out all resultfiles @@ -133,9 +134,10 @@ class Pakfire(object): self.check_host_arch(arch) b = builder.Builder(pakfire=self, pkg=pkg) - b.extract(SHELL_PACKAGES) try: + b.prepare() + b.extract(SHELL_PACKAGES) b.shell() finally: b.cleanup() @@ -144,7 +146,13 @@ class Pakfire(object): self.check_build_mode() b = builder.Builder(pakfire=self, pkg=pkg) - b.extract(build_deps=False) + try: + b.prepare() + b.extract(build_deps=False) + except: + # If there is any exception, we cleanup our stuff and raise it. + b.cleanup() + raise if not resultdirs: resultdirs = [] diff --git a/pakfire/builder.py b/pakfire/builder.py index 35ba1b3f0..04b7af683 100644 --- a/pakfire/builder.py +++ b/pakfire/builder.py @@ -52,9 +52,6 @@ class Builder(object): self.build_id = build_id - # Initialize the environment - self.prepare() - @property def info(self): return {