base.bbclass: fix substring matching in COMMERCIAL_LICENSE

Previously, if for example you had a package called "mx", and a second
package called "libomxil" listed in COMMERCIAL_LICENSE (without mx being
listed there), it would match mx as being commercially licensed because
mx is a substring of libomxil. Fix the search to ensure it only matches
the listed package name exactly.

(From OE-Core rev: b23e51e6c961cf3f7e2aaf89648fecce78424c99)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2011-09-07 17:05:42 +01:00 committed by Richard Purdie
parent 52835dd301
commit 95d3988846
1 changed files with 2 additions and 2 deletions

View File

@ -340,9 +340,9 @@ python () {
if license == "INVALID":
bb.fatal('This recipe does not have the LICENSE field set (%s)' % pn)
commercial_license = bb.data.getVar('COMMERCIAL_LICENSE', d, 1)
commercial_license = " %s " % bb.data.getVar('COMMERCIAL_LICENSE', d, 1)
import re
pnr = pn.replace('+', "\+")
pnr = "[ \t]%s[ \t]" % pn.replace('+', "\+")
if commercial_license and re.search(pnr, commercial_license):
bb.debug(1, "Skipping %s because it's commercially licensed" % pn)
raise bb.parse.SkipPackage("because it may require a commercial license to ship in a product (listed in COMMERCIAL_LICENSE)")