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]
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
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)