archiver.bbclass: check if package contains a copyleft license

The copyleft filter is only excluding packages that contain a
closed source license. This is because oe.license.is_included()
returns a boolean value that indicates if the license is excluded,
and a string that contains the matched included licenses. If the
string is empty it indicates that no licenses were matched.

Reject packages that do not contain a copyleft license.

[YOCTO 4630]

(From OE-Core rev: 3d0f9ee3d2fcce331d35467d5965ff44b825427f)

Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Kevin Strasser 2013-06-12 13:27:15 -07:00 committed by Richard Purdie
parent e5615e7482
commit e1baa0de28
1 changed files with 4 additions and 1 deletions

View File

@ -63,7 +63,10 @@ def copyleft_should_include(d):
bb.fatal('%s: %s' % (d.getVar('PF', True), exc))
else:
if is_included:
return True, 'recipe has included licenses: %s' % ', '.join(reason)
if reason:
return True, 'recipe has included licenses: %s' % ', '.join(reason)
else:
return False, 'recipe does not include a copyleft license'
else:
return False, 'recipe has excluded licenses: %s' % ', '.join(reason)