aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorChris Larson <kergoth@openedhand.com>2006-08-22 08:58:02 +0000
committerChris Larson <kergoth@openedhand.com>2006-08-22 08:58:02 +0000
commit7aa52d7fd99c68d36bb9903de84a6e240ab767cf (patch)
tree7781c50d02a3c3d9661826766ebf9976826b6912 /meta/classes
parent9649cf3dae0f8a56975730aa29ac3bd7f4d6a209 (diff)
downloadopenembedded-core-contrib-7aa52d7fd99c68d36bb9903de84a6e240ab767cf.tar.gz
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/classes')
-rw-r--r--meta/classes/patch.bbclass21
1 files changed, 17 insertions, 4 deletions
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()
}
='n199' href='#n199'>199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236