Re: [patch 14/18] scripts/spdxcheck.py: make python3 compliant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux