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 <[email protected]> --- meta/classes/archiver.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 6749d61..3d75d8e 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -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) -- 1.7.9.5 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
