From: Andrei Gherzan <[email protected]> base.bbclass modified in order to check if there is an "or" operand, and if it is, should check further if there are other non-excluded licenses.
[YOCTO #1844] Signed-off-by: Andrei Gherzan <[email protected]> --- meta/classes/base.bbclass | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index e65a722..4ac809a 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -401,8 +401,21 @@ python () { import re this_license = d.getVar('LICENSE', 1) if this_license and re.search(dont_want_license, this_license): - bb.note("SKIPPING %s because it's %s" % (pn, this_license)) - raise bb.parse.SkipPackage("incompatible with license %s" % this_license) + this_license_no_spaces = re.sub(r'\s', '', this_license) + licenses = re.split('[|]', this_license_no_spaces) + if len(licenses) != 0: + good_license="" + for onelicense in licenses: + if not re.search(dont_want_license, onelicense): + good_license = onelicense + if good_license == "": + bb.note("SKIPPING %s because it's %s" % (pn, this_license)) + raise bb.parse.SkipPackage("incompatible with license %s" % this_license) + else: + bb.note("NOT SKIPPING %s because it's %s which contains %s" % (pn, this_license, good_license)) + else: + bb.note("SKIPPING %s because it's %s" % (pn, this_license)) + raise bb.parse.SkipPackage("incompatible with license %s" % this_license) srcuri = d.getVar('SRC_URI', 1) # Svn packages should DEPEND on subversion-native -- 1.7.6.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
