diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-06-29 15:12:03 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-08 09:57:24 +0100 |
commit | 75f1a0ed422669734081f394187c28ef0258dfc2 (patch) | |
tree | dbb026543f557ec3c391d41fc03be9b72196dbe7 /scripts/lib/recipetool/create_kmod.py | |
parent | 74c5cd0c2c98c0fb80c834b514afacb598ad7073 (diff) | |
download | poky-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.py | 4 |
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: |