On Fri, 2018-11-16 at 15:08 -0800, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > From: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Subject: scripts/spdxcheck.py: make python3 compliant > > Without this change the following happens when using Python3 (3.6.6): > > $ echo "GPL-2.0" | python3 scripts/spdxcheck.py - > FAIL: 'str' object has no attribute 'decode' > Traceback (most recent call last): > File "scripts/spdxcheck.py", line 253, in <module> > parser.parse_lines(sys.stdin, args.maxlines, '-') > File "scripts/spdxcheck.py", line 171, in parse_lines > line = line.decode(locale.getpreferredencoding(False), errors='ignore') > AttributeError: 'str' object has no attribute 'decode' > > So as the line is already a string, there is no need to decode it and > the line can be dropped. > > /usr/bin/python on Arch is Python 3. So this would indeed be worth > going into 4.19. OK, I tested this (and it works fine) but found I needed to install a couple of extra packages that I didn't already have for the default python3 installation. python3-ply and python3-git Perhaps that should be mentioned in some requirements doc. In fact, scripts/spdxcheck.py is not mentioned in any doc file. > Link: http://lkml.kernel.org/r/20181023070802.22558-1-u.kleine-koenig@xxxxxxxxxxxxxx > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Joe Perches <joe@xxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > > --- a/scripts/spdxcheck.py~scripts-spdxcheck-make-python3-compliant > +++ a/scripts/spdxcheck.py > @@ -168,7 +168,6 @@ class id_parser(object): > self.curline = 0 > try: > for line in fd: > - line = line.decode(locale.getpreferredencoding(False), errors='ignore') > self.curline += 1 > if self.curline > maxlines: > break