summaryrefslogtreecommitdiffstats
path: root/meta/classes/license.bbclass
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2017-02-16 10:45:31 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-01 23:27:06 +0000
commit5a2a1ec16b62c8aaffcf9aa7acfd297e68a001f8 (patch)
treeb742207d6db60105749db14bd71069b212849cda /meta/classes/license.bbclass
parent7abb5b72060007caffbbfb8ee3c5c13f3edfc576 (diff)
downloadpoky-5a2a1ec16b62c8aaffcf9aa7acfd297e68a001f8.tar.gz
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 (From OE-Core rev: 95b9e2cd26c7cae265ff52af90480b75251f00e5) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/license.bbclass')
-rw-r--r--meta/classes/license.bbclass6
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):
406 generic_directory = d.getVar('COMMON_LICENSE_DIR') 406 generic_directory = d.getVar('COMMON_LICENSE_DIR')
407 # List of basename, path tuples 407 # List of basename, path tuples
408 lic_files_paths = [] 408 lic_files_paths = []
409 # hash for keep track generic lics mappings
410 non_generic_lics = {}
409 # Entries from LIC_FILES_CHKSUM 411 # Entries from LIC_FILES_CHKSUM
410 lic_chksums = {} 412 lic_chksums = {}
411 license_source_dirs = [] 413 license_source_dirs = []
@@ -468,6 +470,7 @@ def find_license_files(d):
468 # of the package rather than the license_source_dirs. 470 # of the package rather than the license_source_dirs.
469 lic_files_paths.append(("generic_" + license_type, 471 lic_files_paths.append(("generic_" + license_type,
470 os.path.join(srcdir, non_generic_lic), None, None)) 472 os.path.join(srcdir, non_generic_lic), None, None))
473 non_generic_lics[non_generic_lic] = license_type
471 else: 474 else:
472 # Add explicity avoid of CLOSED license because this isn't generic 475 # Add explicity avoid of CLOSED license because this isn't generic
473 if license_type != 'CLOSED': 476 if license_type != 'CLOSED':
@@ -503,6 +506,9 @@ def find_license_files(d):
503 lic_chksum_paths[os.path.basename(path)][data] = (os.path.join(srcdir, path), data[1], data[2]) 506 lic_chksum_paths[os.path.basename(path)][data] = (os.path.join(srcdir, path), data[1], data[2])
504 for basename, files in lic_chksum_paths.items(): 507 for basename, files in lic_chksum_paths.items():
505 if len(files) == 1: 508 if len(files) == 1:
509 # Don't copy again a LICENSE already handled as non-generic
510 if basename in non_generic_lics:
511 continue
506 data = list(files.values())[0] 512 data = list(files.values())[0]
507 lic_files_paths.append(tuple([basename] + list(data))) 513 lic_files_paths.append(tuple([basename] + list(data)))
508 else: 514 else: