summaryrefslogtreecommitdiffstats
path: root/scripts/lib
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-10-31 16:59:47 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-07 11:04:22 +0000
commite0b62c38ac03553964db48d431656f5c4b360fd4 (patch)
tree2a81f2de267fd995ff60260a247913696fd52e32 /scripts/lib
parente0944011e699d32b42afd2f9ff03c6f72082121b (diff)
downloadpoky-e0b62c38ac03553964db48d431656f5c4b360fd4.tar.gz
recipetool: create: separate LICENSE items with & by default
recipetool sets the LICENSE value based on licenses detected from the source tree. If there are multiple licenses then they were being separated by spaces, but this isn't actually legal formatting and if you're using "devtool add" you get a warning printed when devtool parses the recipe internally. Earlier I had made a conscious decision to do it this way since it's up to the user to figure out whether the multiple licenses should all apply (in which case they'd be separated with &) or if there is a choice of license (in which case | is the correct separator). However, I've come to the conclusion that we can just default to & and then the ugly warning goes away, and it's the safest alternative of the two (and most likely to be correct, since it's more common to have a codebase which is made up of code with different licenses, i.e. all of them apply to the combined work). I've tweaked the comment that we add to the recipe to explicitly state that we've used & and that the user needs to change that if that's not accurate. Fixes [YOCTO #10413]. (From OE-Core rev: ecac6aee8cf3313350b58c21012bcd67cfb915e4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
-rw-r--r--scripts/lib/recipetool/create.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index c1819b6c66..cb1c80434c 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -787,10 +787,12 @@ def handle_license_vars(srctree, lines_before, handled, extravalues, d):
787 lines_before.append('# your responsibility to verify that the values are complete and correct.') 787 lines_before.append('# your responsibility to verify that the values are complete and correct.')
788 if len(licvalues) > 1: 788 if len(licvalues) > 1:
789 lines_before.append('#') 789 lines_before.append('#')
790 lines_before.append('# NOTE: multiple licenses have been detected; if that is correct you should separate') 790 lines_before.append('# NOTE: multiple licenses have been detected; they have been separated with &')
791 lines_before.append('# these in the LICENSE value using & if the multiple licenses all apply, or | if there') 791 lines_before.append('# in the LICENSE value for now since it is a reasonable assumption that all')
792 lines_before.append('# is a choice between the multiple licenses. If in doubt, check the accompanying') 792 lines_before.append('# of the licenses apply. If instead there is a choice between the multiple')
793 lines_before.append('# documentation to determine which situation is applicable.') 793 lines_before.append('# licenses then you should change the value to separate the licenses with |')
794 lines_before.append('# instead of &. If there is any doubt, check the accompanying documentation')
795 lines_before.append('# to determine which situation is applicable.')
794 if lic_unknown: 796 if lic_unknown:
795 lines_before.append('#') 797 lines_before.append('#')
796 lines_before.append('# The following license files were not able to be identified and are') 798 lines_before.append('# The following license files were not able to be identified and are')
@@ -814,7 +816,7 @@ def handle_license_vars(srctree, lines_before, handled, extravalues, d):
814 licenses = [pkg_license] 816 licenses = [pkg_license]
815 else: 817 else:
816 lines_before.append('# NOTE: Original package metadata indicates license is: %s' % pkg_license) 818 lines_before.append('# NOTE: Original package metadata indicates license is: %s' % pkg_license)
817 lines_before.append('LICENSE = "%s"' % ' '.join(licenses)) 819 lines_before.append('LICENSE = "%s"' % ' & '.join(licenses))
818 lines_before.append('LIC_FILES_CHKSUM = "%s"' % ' \\\n '.join(lic_files_chksum)) 820 lines_before.append('LIC_FILES_CHKSUM = "%s"' % ' \\\n '.join(lic_files_chksum))
819 lines_before.append('') 821 lines_before.append('')
820 handled.append(('license', licvalues)) 822 handled.append(('license', licvalues))