diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2013-08-06 14:53:26 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2013-08-06 15:35:08 +0000 |
commit | 5261ebca7a0d4e3dfc86b9ad8655c2587e7d0548 (patch) | |
tree | 97c2dca250adc513f82b7548b8e981b137fcda88 /morphlib/buildcommand.py | |
parent | 4fa9c69157ee93e01d9a2cb3edd12ffc4e2708e1 (diff) | |
download | morph-5261ebca7a0d4e3dfc86b9ad8655c2587e7d0548.tar.gz |
stagingarea: move to failed on construction fail
This uses the same logic as when a build fails, so it's been
consolidated into `StagingArea.abort()`.
You could argue that if a build fails before any commands are run,
then there's nothing interesting to see, but it will be useful if the
hardlink/tarball extract algorithm fails in some corner case.
Diffstat (limited to 'morphlib/buildcommand.py')
-rw-r--r-- | morphlib/buildcommand.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/morphlib/buildcommand.py b/morphlib/buildcommand.py index fe6e0721..32c740a4 100644 --- a/morphlib/buildcommand.py +++ b/morphlib/buildcommand.py @@ -274,8 +274,12 @@ class BuildCommand(object): use_chroot, extra_env=extra_env, extra_path=extra_path) - self.install_fillers(staging_area) - self.install_dependencies(staging_area, deps, artifact) + try: + self.install_fillers(staging_area) + self.install_dependencies(staging_area, deps, artifact) + except BaseException: + staging_area.abort() + raise else: staging_area = self.create_staging_area(build_env, False) |