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:30 +0000 |
commit | 790b75f985f8152964402608559a455a8112eefb (patch) | |
tree | 094dec494e0b3da598d412cfb74cac3daf1f302a /meta/classes/insane.bbclass | |
parent | 3635f1fe3bc4f8caea66f8697b62b023ff71948d (diff) | |
download | poky-790b75f985f8152964402608559a455a8112eefb.tar.gz |
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.
(From OE-Core rev: ef35e164c62d89806367b822e3baeff482ec237f)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/insane.bbclass')
-rw-r--r-- | meta/classes/insane.bbclass | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index eb440c24ff..3558dee1b0 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass | |||
@@ -594,7 +594,10 @@ def package_qa_check_license(workdir, d): | |||
594 | srcdir = d.getVar('S', True) | 594 | srcdir = d.getVar('S', True) |
595 | 595 | ||
596 | for url in lic_files.split(): | 596 | for url in lic_files.split(): |
597 | (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) | 597 | try: |
598 | (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) | ||
599 | except bb.fetch.MalformedUrl: | ||
600 | raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url) | ||
598 | srclicfile = os.path.join(srcdir, path) | 601 | srclicfile = os.path.join(srcdir, path) |
599 | if not os.path.isfile(srclicfile): | 602 | if not os.path.isfile(srclicfile): |
600 | raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile) | 603 | raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile) |