diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2012-01-19 13:59:15 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-01-19 14:32:04 +0000 |
commit | ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1 (patch) | |
tree | 8f333beafbb2dbd682e1da8f5337a8657c901e81 /meta/lib | |
parent | d5b892467023d77d219ae05170c875f7b423aa78 (diff) | |
download | openembedded-core-ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1.tar.gz openembedded-core-ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1.tar.bz2 openembedded-core-ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1.tar.xz openembedded-core-ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1.zip |
classes/patch: avoid backtrace when patch does not apply
We don't need to see a Python stack backtrace when a patch does not
apply, just the error output from patch, so trap these kinds of errors
and ensure that we display the message and fail the task and nothing
else.
Fixes [YOCTO #1143]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/patch.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index f4ccb3e18..6f7f90095 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -2,14 +2,14 @@ import oe.path import os import bb.utils, bb.msg, bb.data, bb.fetch2 -class NotFoundError(Exception): +class NotFoundError(bb.BBHandledException): def __init__(self, path): self.path = path def __str__(self): return "Error: %s not found." % self.path -class CmdError(Exception): +class CmdError(bb.BBHandledException): def __init__(self, exitstatus, output): self.status = exitstatus self.output = output @@ -207,7 +207,7 @@ class QuiltTree(PatchSet): # read series -> self.patches seriespath = os.path.join(self.dir, 'patches', 'series') if not os.path.exists(self.dir): - raise Exception("Error: %s does not exist." % self.dir) + raise NotFoundError(self.dir) if os.path.exists(seriespath): series = file(seriespath, 'r') for line in series.readlines(): @@ -228,7 +228,7 @@ class QuiltTree(PatchSet): if sys.exc_value.output.strip() == "No patches applied": return else: - raise sys.exc_value + raise output = [val for val in output.split('\n') if not val.startswith('#')] for patch in self.patches: if os.path.basename(patch["quiltfile"]) == output[-1]: @@ -336,7 +336,7 @@ class NOOPResolver(Resolver): except Exception: import sys os.chdir(olddir) - raise sys.exc_value + raise # Patch resolver which relies on the user doing all the work involved in the # resolution, with the exception of refreshing the remote copy of the patch |