From: Aníbal Limón Date: Thu, 16 Feb 2017 16:45:31 +0000 (-0600) Subject: license.bbclass: Don't copy again LICENSE already handled as no-generic X-Git-Tag: uninative-1.5~174 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=95b9e2cd26c7cae265ff52af90480b75251f00e5;p=openembedded-core.git 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 Signed-off-by: Ross Burton --- 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: