scripts/spdxcheck.py: Strictly read license files in utf-8
Commit bc41a7f36469 ("LICENSES: Add the CC-BY-4.0 license") unfortunately introduced LICENSES/dual/CC-BY-4.0 in UTF-8 Unicode text While python will barf at it with: FAIL: 'ascii' codec can't decode byte 0xe2 in position 2109: ordinal not in range(128) Traceback (most recent call last): File "scripts/spdxcheck.py", line 244, in <module> spdx = read_spdxdata(repo) File "scripts/spdxcheck.py", line 47, in read_spdxdata for l in open(el.path).readlines(): File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 2109: ordinal not in range(128) While it is indeed debatable if 'Licensor.' used in the license file needs unicode quotes, instead, force spdxcheck to read utf-8. Reported-by: Rahul T R <r-ravikumar@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20210707204840.30891-1-nm@ti.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
e73f0f0ee7
commit
40751c6c9b
@ -44,7 +44,7 @@ def read_spdxdata(repo):
|
||||
continue
|
||||
|
||||
exception = None
|
||||
for l in open(el.path).readlines():
|
||||
for l in open(el.path, encoding="utf-8").readlines():
|
||||
if l.startswith('Valid-License-Identifier:'):
|
||||
lid = l.split(':')[1].strip().upper()
|
||||
if lid in spdx.licenses:
|
||||
|
Loading…
x
Reference in New Issue
Block a user