summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/create-spdx-2.2.bbclass10
1 files changed, 8 insertions, 2 deletions
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass
index 27242ecf70..494bde117f 100644
--- a/meta/classes/create-spdx-2.2.bbclass
+++ b/meta/classes/create-spdx-2.2.bbclass
@@ -75,11 +75,17 @@ def convert_license_to_spdx(lic, license_data, document, d, existing={}):
75 pass 75 pass
76 if extracted_info.extractedText is None: 76 if extracted_info.extractedText is None:
77 # If it's not SPDX or PD, then NO_GENERIC_LICENSE must be set 77 # If it's not SPDX or PD, then NO_GENERIC_LICENSE must be set
78 filename = d.getVarFlag('NO_GENERIC_LICENSE', name) 78 entry = d.getVarFlag('NO_GENERIC_LICENSE', name).split(';')
79 filename = entry[0]
80 params = {i.split('=')[0]: i.split('=')[1] for i in entry[1:] if '=' in i}
81 beginline = int(params.get('beginline', 1))
82 endline = params.get('endline', None)
83 if endline:
84 endline = int(endline)
79 if filename: 85 if filename:
80 filename = d.expand("${S}/" + filename) 86 filename = d.expand("${S}/" + filename)
81 with open(filename, errors="replace") as f: 87 with open(filename, errors="replace") as f:
82 extracted_info.extractedText = f.read() 88 extracted_info.extractedText = "".join(line for idx, line in enumerate(f, 1) if beginline <= idx and idx <= (endline or idx))
83 else: 89 else:
84 bb.fatal("Cannot find any text for license %s" % name) 90 bb.fatal("Cannot find any text for license %s" % name)
85 91