summaryrefslogtreecommitdiffstats
path: root/meta/classes/copyleft_filter.bbclass
diff options
context:
space:
mode:
authorAndré Draszik <adraszik@tycoint.com>2017-06-26 08:36:19 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-28 19:55:08 (GMT)
commit1ce923bfe1d81093edddfdaa0aa60e6300a5ea29 (patch)
tree012e7113ef0e66379a48ba0e145b53e7788e5f7d /meta/classes/copyleft_filter.bbclass
parent68e763d54f252226dbf1448ce764384e1e7f2b23 (diff)
downloadpoky-1ce923bfe1d81093edddfdaa0aa60e6300a5ea29.tar.gz
copyleft_filter.bbclass: restore possiblity to filter on type
Since the changes introduced in ae9102bda398 ("copyleft_filter.bbclass: Allow to filter on name"), it is impossible to filter on the recipe type, all recipes are treated as though they should be included if the license matches, irrespective of the COPYLEFT_RECIPE_TYPES variable. Fix this. (From OE-Core rev: e612dfa520c7d7ecf58006e82189be601204f38d) Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/copyleft_filter.bbclass')
-rw-r--r--meta/classes/copyleft_filter.bbclass32
1 files changed, 16 insertions, 16 deletions
diff --git a/meta/classes/copyleft_filter.bbclass b/meta/classes/copyleft_filter.bbclass
index 5867bb9..c36bce4 100644
--- a/meta/classes/copyleft_filter.bbclass
+++ b/meta/classes/copyleft_filter.bbclass
@@ -47,27 +47,27 @@ def copyleft_should_include(d):
47 import oe.license 47 import oe.license
48 from fnmatch import fnmatchcase as fnmatch 48 from fnmatch import fnmatchcase as fnmatch
49 49
50 included, motive = False, 'recipe did not match anything'
51
52 recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE') 50 recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
53 if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d): 51 if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d):
54 include, motive = False, 'recipe type "%s" is excluded' % recipe_type 52 included, motive = False, 'recipe type "%s" is excluded' % recipe_type
53 else:
54 included, motive = False, 'recipe did not match anything'
55 55
56 include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d) 56 include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
57 exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d) 57 exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
58 58
59 try: 59 try:
60 is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude) 60 is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
61 except oe.license.LicenseError as exc: 61 except oe.license.LicenseError as exc:
62 bb.fatal('%s: %s' % (d.getVar('PF'), exc)) 62 bb.fatal('%s: %s' % (d.getVar('PF'), exc))
63 else:
64 if is_included:
65 if reason:
66 included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
67 else:
68 included, motive = False, 'recipe does not include a copyleft license'
69 else: 63 else:
70 included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason) 64 if is_included:
65 if reason:
66 included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
67 else:
68 included, motive = False, 'recipe does not include a copyleft license'
69 else:
70 included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
71 71
72 if any(fnmatch(d.getVar('PN'), name) \ 72 if any(fnmatch(d.getVar('PN'), name) \
73 for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)): 73 for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):