meta/classes/base.bbclass: base.bbclass should check for multiple (or) licenses in bb files
Submitted by Andrei Gherzan on Dec. 29, 2011, 10:20 a.m.
|
Patch ID: 17777
Details
Commit Message
@@ -402,8 +402,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