summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/license.bbclass17
1 files changed, 16 insertions, 1 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 73a0e9727e..d9409a90ba 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -222,7 +222,9 @@ def find_license_files(d):
222 pass 222 pass
223 spdx_generic = None 223 spdx_generic = None
224 license_source = None 224 license_source = None
225 # If the generic does not exist we need to check to see if there is an SPDX mapping to it 225 # If the generic does not exist we need to check to see if there is an SPDX mapping to it,
226 # unless NO_GENERIC_LICENSE is set.
227
226 for lic_dir in license_source_dirs: 228 for lic_dir in license_source_dirs:
227 if not os.path.isfile(os.path.join(lic_dir, license_type)): 229 if not os.path.isfile(os.path.join(lic_dir, license_type)):
228 if d.getVarFlag('SPDXLICENSEMAP', license_type) != None: 230 if d.getVarFlag('SPDXLICENSEMAP', license_type) != None:
@@ -241,6 +243,19 @@ def find_license_files(d):
241 # audit up. This should be fixed in emit_pkgdata (or, we actually got and fix all the recipes) 243 # audit up. This should be fixed in emit_pkgdata (or, we actually got and fix all the recipes)
242 244
243 lic_files_paths.append(("generic_" + license_type, os.path.join(license_source, spdx_generic))) 245 lic_files_paths.append(("generic_" + license_type, os.path.join(license_source, spdx_generic)))
246
247 # The user may attempt to use NO_GENERIC_LICENSE for a generic license which doesn't make sense
248 # and should not be allowed, warn the user in this case.
249 if d.getVarFlag('NO_GENERIC_LICENSE', license_type):
250 bb.warn("%s: %s is a generic license, please don't use NO_GENERIC_LICENSE for it." % (pn, license_type))
251
252 elif d.getVarFlag('NO_GENERIC_LICENSE', license_type):
253 # if NO_GENERIC_LICENSE is set, we copy the license files from the fetched source
254 # of the package rather than the license_source_dirs.
255 for (basename, path) in lic_files_paths:
256 if d.getVarFlag('NO_GENERIC_LICENSE', license_type) == basename:
257 lic_files_paths.append(("generic_" + license_type, path))
258 break
244 else: 259 else:
245 # And here is where we warn people that their licenses are lousy 260 # And here is where we warn people that their licenses are lousy
246 bb.warn("%s: No generic license file exists for: %s in any provider" % (pn, license_type)) 261 bb.warn("%s: No generic license file exists for: %s in any provider" % (pn, license_type))