From d5c4979669f125e73c24dcc73fa3c4f3787bbb62 Mon Sep 17 00:00:00 2001 From: Stefan Herbrechtsmeier Date: Fri, 8 Oct 2021 09:48:30 +0200 Subject: recipetool: Add support for linenumbers to licenses.csv Add support for linenumbers (begin and end lines) to licenses.csv. Add an optional linenumbers parameter to get_license_md5sums to support different use cases. Signed-off-by: Stefan Herbrechtsmeier Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'scripts/lib') diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index a8c4cdef4a..277266be4e 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -1002,11 +1002,11 @@ def handle_license_vars(srctree, lines_before, handled, extravalues, d): handled.append(('license', licvalues)) return licvalues -def get_license_md5sums(d, static_only=False): +def get_license_md5sums(d, static_only=False, linenumbers=False): import bb.utils import csv md5sums = {} - if not static_only: + if not static_only and not linenumbers: # Gather md5sums of license files in common license dir commonlicdir = d.getVar('COMMON_LICENSE_DIR') for fn in os.listdir(commonlicdir): @@ -1024,10 +1024,14 @@ def get_license_md5sums(d, static_only=False): csv_path = os.path.join(path, 'lib', 'recipetool', 'licenses.csv') if os.path.isfile(csv_path): with open(csv_path, newline='') as csv_file: - fieldnames = ['md5sum', 'license'] + fieldnames = ['md5sum', 'license', 'beginline', 'endline', 'md5'] reader = csv.DictReader(csv_file, delimiter=',', fieldnames=fieldnames) for row in reader: - md5sums[row['md5sum']] = row['license'] + if linenumbers: + md5sums[row['md5sum']] = ( + row['license'], row['beginline'], row['endline'], row['md5']) + else: + md5sums[row['md5sum']] = row['license'] return md5sums -- cgit 1.2.3-korg