diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-10-31 16:59:47 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-07 11:04:22 +0000 |
commit | e0b62c38ac03553964db48d431656f5c4b360fd4 (patch) | |
tree | 2a81f2de267fd995ff60260a247913696fd52e32 /scripts | |
parent | e0944011e699d32b42afd2f9ff03c6f72082121b (diff) | |
download | poky-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')
-rw-r--r-- | scripts/lib/recipetool/create.py | 12 |
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)) |