mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
copyleft_filter.bbclass: restore possiblity to filter on type
Since the changes introduced in ae9102bda3
("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>
This commit is contained in:
parent
68e763d54f
commit
1ce923bfe1
|
|
@ -47,27 +47,27 @@ def copyleft_should_include(d):
|
|||
import oe.license
|
||||
from fnmatch import fnmatchcase as fnmatch
|
||||
|
||||
included, motive = False, 'recipe did not match anything'
|
||||
|
||||
recipe_type = d.getVar('COPYLEFT_RECIPE_TYPE')
|
||||
if recipe_type not in oe.data.typed_value('COPYLEFT_RECIPE_TYPES', d):
|
||||
include, motive = False, 'recipe type "%s" is excluded' % recipe_type
|
||||
|
||||
include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
|
||||
exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
|
||||
|
||||
try:
|
||||
is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
|
||||
except oe.license.LicenseError as exc:
|
||||
bb.fatal('%s: %s' % (d.getVar('PF'), exc))
|
||||
included, motive = False, 'recipe type "%s" is excluded' % recipe_type
|
||||
else:
|
||||
if is_included:
|
||||
if reason:
|
||||
included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
|
||||
else:
|
||||
included, motive = False, 'recipe does not include a copyleft license'
|
||||
included, motive = False, 'recipe did not match anything'
|
||||
|
||||
include = oe.data.typed_value('COPYLEFT_LICENSE_INCLUDE', d)
|
||||
exclude = oe.data.typed_value('COPYLEFT_LICENSE_EXCLUDE', d)
|
||||
|
||||
try:
|
||||
is_included, reason = oe.license.is_included(d.getVar('LICENSE'), include, exclude)
|
||||
except oe.license.LicenseError as exc:
|
||||
bb.fatal('%s: %s' % (d.getVar('PF'), exc))
|
||||
else:
|
||||
included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
|
||||
if is_included:
|
||||
if reason:
|
||||
included, motive = True, 'recipe has included licenses: %s' % ', '.join(reason)
|
||||
else:
|
||||
included, motive = False, 'recipe does not include a copyleft license'
|
||||
else:
|
||||
included, motive = False, 'recipe has excluded licenses: %s' % ', '.join(reason)
|
||||
|
||||
if any(fnmatch(d.getVar('PN'), name) \
|
||||
for name in oe.data.typed_value('COPYLEFT_PN_INCLUDE', d)):
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user