From 5a2a1ec16b62c8aaffcf9aa7acfd297e68a001f8 Mon Sep 17 00:00:00 2001 From: Aníbal Limón Date: Thu, 16 Feb 2017 10:45:31 -0600 Subject: license.bbclass: Don't copy again LICENSE already handled as no-generic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/license.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) 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: -- cgit v1.2.3-54-g00ecf