diff options
author | Aníbal Limón <anibal.limon@linux.intel.com> | 2017-02-16 10:45:31 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-01 12:54:15 +0000 |
commit | 95b9e2cd26c7cae265ff52af90480b75251f00e5 (patch) | |
tree | 6f376e733175d81cb8301f84434e32fd44b69744 /meta/classes/license.bbclass | |
parent | 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f (diff) | |
download | openembedded-core-95b9e2cd26c7cae265ff52af90480b75251f00e5.tar.gz openembedded-core-95b9e2cd26c7cae265ff52af90480b75251f00e5.tar.bz2 openembedded-core-95b9e2cd26c7cae265ff52af90480b75251f00e5.zip |
license.bbclass: Don't copy again LICENSE already handled as no-generic
The NO_GENERIC_LICENSE mapping was added [1] to enable copy LICENSES
from upstream source code into recipe licenses, previously that only
common-licenses was processed.
This result on copy twice the NO_GENERIC_LICENSE specified because there
is a mapping between license in LIC_CHKSUM and NO_GENERIC_LICENSE.
In order to avoid double copy one as generic_ and other as LICENSE. keep
track of licenses already copied.
For linux-firmware the result will be only generic_ licenses into
common-licenses.
[YOCTO #10325]
[1] http://lists.openembedded.org/pipermail/openembedded-core/2015-April/104222.html
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes/license.bbclass')
-rw-r--r-- | meta/classes/license.bbclass | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 11d45f3867..caf7628d09 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -406,6 +406,8 @@ def find_license_files(d): generic_directory = d.getVar('COMMON_LICENSE_DIR') # List of basename, path tuples lic_files_paths = [] + # hash for keep track generic lics mappings + non_generic_lics = {} # Entries from LIC_FILES_CHKSUM lic_chksums = {} license_source_dirs = [] @@ -468,6 +470,7 @@ def find_license_files(d): # of the package rather than the license_source_dirs. lic_files_paths.append(("generic_" + license_type, os.path.join(srcdir, non_generic_lic), None, None)) + non_generic_lics[non_generic_lic] = license_type else: # Add explicity avoid of CLOSED license because this isn't generic if license_type != 'CLOSED': @@ -503,6 +506,9 @@ def find_license_files(d): lic_chksum_paths[os.path.basename(path)][data] = (os.path.join(srcdir, path), data[1], data[2]) for basename, files in lic_chksum_paths.items(): if len(files) == 1: + # Don't copy again a LICENSE already handled as non-generic + if basename in non_generic_lics: + continue data = list(files.values())[0] lic_files_paths.append(tuple([basename] + list(data))) else: |