Documentation/sphinx: fix kernel-doc decode for non-utf-8 locale
authorJani Nikula <jani.nikula@intel.com>
Thu, 31 Aug 2017 19:21:29 +0000 (22:21 +0300)
committerJonathan Corbet <corbet@lwn.net>
Thu, 31 Aug 2017 19:36:28 +0000 (13:36 -0600)
commit86c0f046a8b0c23fca65f77333c233a06c25ef9a
treec855556f07686d52f232f89a778d7f41f0150103
parenta27bfcab5c1c3a0df61b68e85fc5e4cade83559f
Documentation/sphinx: fix kernel-doc decode for non-utf-8 locale

On python3, Popen() universal_newlines=True converts the subprocess
stdout to unicode text using a codec based on user preferences. Given
LANG indicating ascii and utf-8 stdout from the subprocess, you'd get:

WARNING: kernel-doc '../scripts/kernel-doc -rst -enable-lineno
../drivers/media/dvb-core/demux.h' processing failed with: 'ascii' codec can't
decode byte 0xe2 in position 6368: ordinal not in range(128)

Fix this by dropping universal_newlines=True and replacing the implicit
LANG specific decode with an explicit utf-8 decode. This also gets rid
of the annoying conditional code for python 2 vs. 3.

Fixes: ba3501859354 ("Documentation/sphinx: fix kernel-doc extension on python3")
Reference: http://mid.mail-archive.com/54c23e8e-89c0-5cea-0dcc-e938952c5642@infradead.org
Reported-and-tested-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/sphinx/kerneldoc.py