From patchwork Thu Jan 24 23:34:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/1] archvier.bbclass: fix copyleft filter behavior Date: Thu, 24 Jan 2013 23:34:15 -0000 From: Kevin Strasser X-Patchwork-Id: 43331 Message-Id: To: openembedded-core@lists.openembedded.org copyleft_should_include() was only filtering out recipes that contain a license in COPYLEFT_LICENSE_EXCLUDE. This change adds the requirement that the recipe contain a copyleft license, as defined by COPYLEFT_LICENSE_INCLUDE. Also, filtering results were being mistakenly negated in tar_filter(). Signed-off-by: Kevin Strasser --- meta/classes/archiver.bbclass | 6 ++++-- meta/lib/oe/license.py | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index a4a2158..7fd4f0f 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -64,8 +64,10 @@ def copyleft_should_include(d): else: if is_included: return True, 'recipe has included licenses: %s' % ', '.join(reason) - else: + elif reason: return False, 'recipe has excluded licenses: %s' % ', '.join(reason) + else: + return False, 'recipe has neither included nor excluded licenses' def tar_filter(d): """ @@ -75,7 +77,7 @@ def tar_filter(d): """ if d.getVar('FILTER', True) == "yes": included, reason = copyleft_should_include(d) - if not included: + if included: return False else: return True diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index 173e319..fc15e9e 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py @@ -112,5 +112,7 @@ def is_included(licensestr, whitelist=None, blacklist=None): included = filter(lambda lic: include_license(lic), licenses) if excluded: return False, excluded - else: + elif included: return True, included + else: + return False, None