summaryrefslogtreecommitdiffstats
path: root/scripts/lib/recipetool/create_kmod.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 15:12:03 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-08 09:57:24 +0100
commit75f1a0ed422669734081f394187c28ef0258dfc2 (patch)
treedbb026543f557ec3c391d41fc03be9b72196dbe7 /scripts/lib/recipetool/create_kmod.py
parent74c5cd0c2c98c0fb80c834b514afacb598ad7073 (diff)
downloadpoky-75f1a0ed422669734081f394187c28ef0258dfc2.tar.gz
recipetool: create: avoid decoding errors with Python 3
We're opening source files with the default encoding (utf-8) but we can't necessarily be sure that they are UTF-8 clean - for example, recipetool create ftp://mama.indstate.edu/linux/tree/tree-1.7.0.tgz prior to this patch resulted in a UnicodeDecodeError. Use the "surrogateescape" mode to avoid this. Fixes [YOCTO #9822]. (From OE-Core rev: 50fcd9d1b9a20d49bc873467a82a071f2f2f8b5a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/recipetool/create_kmod.py')
-rw-r--r--scripts/lib/recipetool/create_kmod.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/lib/recipetool/create_kmod.py b/scripts/lib/recipetool/create_kmod.py
index fe39edb288..7cf188db21 100644
--- a/scripts/lib/recipetool/create_kmod.py
+++ b/scripts/lib/recipetool/create_kmod.py
@@ -53,7 +53,7 @@ class KernelModuleRecipeHandler(RecipeHandler):
53 break 53 break
54 else: 54 else:
55 continue 55 continue
56 with open(cfile, 'r') as f: 56 with open(cfile, 'r', errors='surrogateescape') as f:
57 for line in f: 57 for line in f:
58 if module_inc_re.match(line.strip()): 58 if module_inc_re.match(line.strip()):
59 is_module = True 59 is_module = True
@@ -73,7 +73,7 @@ class KernelModuleRecipeHandler(RecipeHandler):
73 in_install = False 73 in_install = False
74 in_compile = False 74 in_compile = False
75 install_target = None 75 install_target = None
76 with open(makefile, 'r') as f: 76 with open(makefile, 'r', errors='surrogateescape') as f:
77 for line in f: 77 for line in f:
78 if line.startswith('install:'): 78 if line.startswith('install:'):
79 if not install_lines: 79 if not install_lines: