diff options
-rw-r--r-- | meta/classes/create-spdx-2.2.bbclass | 10 |
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 | ||