From 94f5ac0651249cb98fb8d1308b7c0d10605d5a1e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Wed, 2 Nov 2016 14:59:53 +0000 Subject: classes/license: copy licenses even if there are no checksummed files Previously do_populate_lic would bail writing the license files (such as the MIT license text) to deploy/licenses/${PN}/ if there were no files listed in LIC_FILES_CHKSUM. In general this isn't a problem since LIC_FILES_CHKSUM was effectively a required field, and for packages which don't have traditional content was generally set to a separate license such as ${COREBASE}/meta/COPYING.MIT. However LIC_FILES_CHKSUM is now only required if there are sources in SRC_URI, so oe-core b18fa5f removed these now redundant values. The unexpected side effect of this is that that recipes that generate their content (such as os-release) or are otherwise "interesting" (such as perf) don't have their license files copied over, resulting in warnings from do_rootfs. Resolve this by not returning early if LIC_FILES_CHKSUM is empty, and always copy the references license files. Signed-off-by: Ross Burton --- meta/classes/license.bbclass | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 660b85f619..afcfbfc038 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -390,7 +390,7 @@ def find_license_files(d): from collections import defaultdict, OrderedDict # All the license files for the package - lic_files = d.getVar('LIC_FILES_CHKSUM', True) + lic_files = d.getVar('LIC_FILES_CHKSUM', True) or "" pn = d.getVar('PN', True) # The license files are located in S/LIC_FILE_CHECKSUM. srcdir = d.getVar('S', True) @@ -469,12 +469,6 @@ def find_license_files(d): if not generic_directory: bb.fatal("COMMON_LICENSE_DIR is unset. Please set this in your distro config") - if not lic_files: - # No recipe should have an invalid license file. This is checked else - # where, but let's be pedantic - bb.note(pn + ": Recipe file does not have license file information.") - return lic_files_paths - for url in lic_files.split(): try: (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) -- cgit 1.2.3-korg