diff options
author | Phil Blundell <pb@pbcl.net> | 2013-11-12 13:29:24 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-12 16:00:20 +0000 |
commit | ef35e164c62d89806367b822e3baeff482ec237f (patch) | |
tree | 154f3d92bfb8ba8f48fb9d6283d834af837e83ba /meta/classes/license.bbclass | |
parent | 915c1a35ed3ac7eb650d68c079d6b7cda781b106 (diff) | |
download | openembedded-core-ef35e164c62d89806367b822e3baeff482ec237f.tar.gz openembedded-core-ef35e164c62d89806367b822e3baeff482ec237f.tar.bz2 openembedded-core-ef35e164c62d89806367b822e3baeff482ec237f.zip |
insane, license: Trap MalformedUrl exceptions when parsing LIC_FILES_CHKSUM
bb.fetch.decodeurl() will throw if it doesn't like the look of the URL that
it's given. (Bitbake's idea of what constitutes a valid URL is somewhat
idiosyncratic so it is fairly easy to trip over this by mistake when writing
a recipe.)
If these exceptions are allowed to propagate all the way up to better_exec()
then we will get a large amount of python stack trace spew when they are
finally caught. Avoid that by catching them locally and throwing
bb.build.FuncFailed() with a suitable explanation instead.
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/license.bbclass')
-rw-r--r-- | meta/classes/license.bbclass | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 6abdae4e84..1c1b679fac 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -228,7 +228,10 @@ def find_license_files(d): return lic_files_paths for url in lic_files.split(): - (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) + try: + (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) + except bb.fetch.MalformedUrl: + raise bb.build.FuncFailed("%s: LIC_FILES_CHKSUM contains an invalid URL: %s" % (d.getVar('PF', True), url)) # We want the license filename and path srclicfile = os.path.join(srcdir, path) lic_files_paths.append((os.path.basename(path), srclicfile)) |