From 7aa52d7fd99c68d36bb9903de84a6e240ab767cf Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Tue, 22 Aug 2006 08:58:02 +0000 Subject: Clean up the way patch.bbclass's runcmd handles the directory not existing. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@624 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/patch.bbclass | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'meta/classes/patch.bbclass') diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass index 0f0d6a686f..aa54d9b32f 100644 --- a/meta/classes/patch.bbclass +++ b/meta/classes/patch.bbclass @@ -21,12 +21,20 @@ def patch_init(): def __str__(self): return "Command Error: exit status: %d Output:\n%s" % (self.status, self.output) + + class NotFoundError(Exception): + def __init__(self, path): + self.path = path + def __str__(self): + return "Error: %s not found." % self.path def runcmd(args, dir = None): import commands if dir: olddir = os.path.abspath(os.curdir) + if not os.path.exists(dir): + raise NotFoundError(dir) os.chdir(dir) # print("cwd: %s -> %s" % (olddir, self.dir)) @@ -120,9 +128,8 @@ def patch_init(): pass else: raise PatchError("Unable to clean patches from tree:\n"+str(sys.exc_value)) - except OSError: - if str(sys.exc_value).startswith('OSError: [Errno 2]'): - pass + except NotFoundError: + pass runcmd(["rm", "-rf", os.path.join(self.dir, "patches"), os.path.join(self.dir, ".pc")]) self.initialized = True @@ -311,6 +318,8 @@ def patch_init(): g["QuiltTree"] = QuiltTree g["Resolver"] = Resolver g["UserResolver"] = UserResolver + g["NotFoundError"] = NotFoundError + g["CmdError"] = CmdError addtask patch after do_unpack do_patch[dirs] = "${WORKDIR}" @@ -400,6 +409,10 @@ python base_do_patch() { continue bb.note("Applying patch '%s'" % pname) - patchset.Import({"file":unpacked, "remote":url, "strippath": pnum}, True) + try: + patchset.Import({"file":unpacked, "remote":url, "strippath": pnum}, True) + except NotFoundError: + import sys + raise bb.build.FuncFailed(str(sys.exc_value)) resolver.Resolve() } -- cgit v1.2.3-54-g00ecf