Patchwork [3/3] license/copyleft: exception for ast parse

login
register
mail settings
Submitter Elizabeth Flanagan
Date Dec. 10, 2011, 12:05 a.m.
Message ID <00fbcd63de9e191c6c808d64d880c64fa7aecc6c.1323475141.git.elizabeth.flanagan@intel.com>
Download mbox | patch
Permalink /patch/16627/
State Accepted
Commit 07f94fa1d661d38b775ce2d99b84e5610c369392
Headers show

Comments

Elizabeth Flanagan - Dec. 10, 2011, 12:05 a.m.
From: Elizabeth Flanagan <elizabeth.flanagan@intel.com>

As the standard for LICENSE format is not well defined, we
may well run into issues where LICENSE cannot be parsed via
ast. In cases like this, we need to warn and continue.

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
---
 meta/classes/copyleft_compliance.bbclass |    2 ++
 meta/classes/license.bbclass             |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

Patch

diff --git a/meta/classes/copyleft_compliance.bbclass b/meta/classes/copyleft_compliance.bbclass
index 5d9ab11..2fe524b 100644
--- a/meta/classes/copyleft_compliance.bbclass
+++ b/meta/classes/copyleft_compliance.bbclass
@@ -48,6 +48,8 @@  def copyleft_should_include(d):
         licenses = oe.license.flattened_licenses(d.getVar('LICENSE', True), choose_licenses)
     except oe.license.InvalidLicense as exc:
         bb.fatal('%s: %s' % (d.getVar('PF', True), exc))
+    except SyntaxError:
+        bb.warn("%s: Failed to parse it's LICENSE field." % (d.getVar('PF', True)))
 
     return all(include_license(lic) for lic in licenses)
 
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 96fdb46..4689aaf 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -231,7 +231,10 @@  python do_populate_lic() {
     try:
         v.visit_string(license_types)
     except oe.license.InvalidLicense as exc:
-        bb.fatal("%s: %s" % (d.getVar('PF', True), exc))
+        bb.fatal('%s: %s' % (d.getVar('PF', True), exc))
+    except SyntaxError:
+        bb.warn("%s: Failed to parse it's LICENSE field." % (d.getVar('PF', True)))
+
 }
 
 SSTATETASKS += "do_populate_lic"