From bb70038b852c488a34279c04236325080e78951d Mon Sep 17 00:00:00 2001 From: Kevin Strasser Date: Wed, 12 Jun 2013 13:27:15 -0700 Subject: 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 master rev: 3d0f9ee3d2fcce331d35467d5965ff44b825427f) (From OE-Core rev: aa02769727203650bfebf38082a2dadcc7e3b443) Signed-off-by: Kevin Strasser Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- 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 6749d61678..3d75d8eba2 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) -- cgit v1.2.3-54-g00ecf