summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorChris Larson <clarson@kergoth.com>2008-11-20 12:40:01 -0700
committerChris Larson <clarson@kergoth.com>2008-11-20 13:12:24 -0700
commita24386ba41206b3ac01cdb6ae11282a8ae978184 (patch)
tree6ce8e00b6204c2c36585d0e31002937e0ec4c4a8 /classes
parent50ed25b113a28eb607c43fcd2788097b8f1613ed (diff)
base.bbclass: Fix up disclean and clean up its exception handling
My python is rusty :)
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass18
1 files changed, 12 insertions, 6 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 00bbffd096..2c03c8fcb0 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -512,17 +512,23 @@ python base_do_distclean() {
if not src_uri:
return
- for uri in src_uri.split()
- if type == "file":
+ for uri in src_uri.split():
+ if bb.decodeurl(uri)[0] == "file":
continue
try:
local = bb.data.expand(bb.fetch.localpath(uri, d), d)
- bb.note("removing %s" % local)
- os.remove(local)
- os.remove(local + ".md5")
except bb.MalformedUrl, e:
- raise FuncFailed('Unable to generate local path for %s' % e)
+ bb.debug(1, 'Unable to generate local path for malformed uri: %s' % e)
+ else:
+ bb.note("removing %s" % local)
+ try:
+ if os.path.exists(local + ".md5"):
+ os.remove(local + ".md5")
+ if os.path.exists(local):
+ os.remove(local)
+ except OSError, e:
+ bb.note("Error in removal: %s" % (local, e))
}
SCENEFUNCS += "base_scenefunction"