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 23:27:06 +0000 |
commit | 5a2a1ec16b62c8aaffcf9aa7acfd297e68a001f8 (patch) | |
tree | b742207d6db60105749db14bd71069b212849cda /meta/classes | |
parent | 7abb5b72060007caffbbfb8ee3c5c13f3edfc576 (diff) | |
download | poky-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')
-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): | |||
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: |