diff options
author | Chris Larson <kergoth@openedhand.com> | 2006-08-22 08:58:02 +0000 |
---|---|---|
committer | Chris Larson <kergoth@openedhand.com> | 2006-08-22 08:58:02 +0000 |
commit | 7aa52d7fd99c68d36bb9903de84a6e240ab767cf (patch) | |
tree | 7781c50d02a3c3d9661826766ebf9976826b6912 /meta | |
parent | 9649cf3dae0f8a56975730aa29ac3bd7f4d6a209 (diff) | |
download | openembedded-core-7aa52d7fd99c68d36bb9903de84a6e240ab767cf.tar.gz openembedded-core-7aa52d7fd99c68d36bb9903de84a6e240ab767cf.tar.bz2 openembedded-core-7aa52d7fd99c68d36bb9903de84a6e240ab767cf.tar.xz openembedded-core-7aa52d7fd99c68d36bb9903de84a6e240ab767cf.zip |
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
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/patch.bbclass | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass index 0f0d6a686..aa54d9b32 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() } |