[OE-core] [PATCH 1/2] license.bbclass: Don't copy again LICENSE already handled as no-generic
Aníbal Limón
anibal.limon at linux.intel.com
Tue Feb 14 16:31:47 UTC 2017
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 at linux.intel.com>
---
meta/classes/license.bbclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 44467d0..3c5e49e 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -398,6 +398,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 = []
@@ -459,6 +461,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)))
+ non_generic_lics[non_generic_lic] = license_type
else:
# Add explicity avoid of CLOSED license because this isn't generic
if license_type != 'CLOSED':
@@ -492,6 +495,9 @@ def find_license_files(d):
lic_chksum_paths[os.path.basename(path)][chksum] = os.path.join(srcdir, path)
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
lic_files_paths.append((basename, list(files.values())[0]))
else:
# If there are multiple different license files with identical
--
2.1.4
More information about the Openembedded-core
mailing list