summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2016-05-31 17:09:12 +0200
committerJani Nikula <jani.nikula@intel.com>2016-06-01 10:06:58 +0200
commitba35018593547eac69998e2571fc95cf620f2220 (patch)
treee5880506caf69ba50ceca703734e4e27ebfa8952
parentkernel-doc: reset contents and section harder (diff)
downloadlinux-ba35018593547eac69998e2571fc95cf620f2220.tar.xz
linux-ba35018593547eac69998e2571fc95cf620f2220.zip
Documentation/sphinx: fix kernel-doc extension on python3
Reconcile differences between python2 and python3 on dealing with stdout, stderr from Popen. This fixes "name 'unicode' is not defined" errors on python3. We'll need to try to keep the extension working on both python-sphinx and python3-sphinx so we don't need two copies. Reported-and-tested-by: Marius Vlad <marius.c.vlad@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r--Documentation/sphinx/kernel-doc.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/Documentation/sphinx/kernel-doc.py b/Documentation/sphinx/kernel-doc.py
index 87a1332fe934..a6e170872c8a 100644
--- a/Documentation/sphinx/kernel-doc.py
+++ b/Documentation/sphinx/kernel-doc.py
@@ -23,6 +23,9 @@
#
# Authors:
# Jani Nikula <jani.nikula@intel.com>
+#
+# Please make sure this works on both python2 and python3.
+#
import os
import subprocess
@@ -75,8 +78,10 @@ class KernelDocDirective(Directive):
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
out, err = p.communicate()
- # assume the kernel sources are utf-8
- out, err = unicode(out, 'utf-8'), unicode(err, 'utf-8')
+ # python2 needs conversion to unicode.
+ # python3 with universal_newlines=True returns strings.
+ if sys.version_info.major < 3:
+ out, err = unicode(out, 'utf-8'), unicode(err, 'utf-8')
if p.returncode != 0:
sys.stderr.write(err)