summaryrefslogtreecommitdiffstats
path: root/scripts/lib/recipetool/create.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.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.py')
-rw-r--r--scripts/lib/recipetool/create.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 129742807f..042e7009cb 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -390,7 +390,7 @@ def create_recipe(args):
390 srcsubdir = dirlist[0] 390 srcsubdir = dirlist[0]
391 srctree = os.path.join(srctree, srcsubdir) 391 srctree = os.path.join(srctree, srcsubdir)
392 else: 392 else:
393 with open(singleitem, 'r') as f: 393 with open(singleitem, 'r', errors='surrogateescape') as f:
394 if '<html' in f.read(100).lower(): 394 if '<html' in f.read(100).lower():
395 logger.error('Fetching "%s" returned a single HTML page - check the URL is correct and functional' % fetchuri) 395 logger.error('Fetching "%s" returned a single HTML page - check the URL is correct and functional' % fetchuri)
396 sys.exit(1) 396 sys.exit(1)
@@ -840,7 +840,7 @@ def crunch_license(licfile):
840 # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv3 840 # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv3
841 crunched_md5sums['2ebfb3bb49b9a48a075cc1425e7f4129'] = 'LGPLv3' 841 crunched_md5sums['2ebfb3bb49b9a48a075cc1425e7f4129'] = 'LGPLv3'
842 lictext = [] 842 lictext = []
843 with open(licfile, 'r') as f: 843 with open(licfile, 'r', errors='surrogateescape') as f:
844 for line in f: 844 for line in f:
845 # Drop opening statements 845 # Drop opening statements
846 if copyright_re.match(line): 846 if copyright_re.match(line):
@@ -978,7 +978,7 @@ def convert_debian(debpath):
978 978
979 values = {} 979 values = {}
980 depends = [] 980 depends = []
981 with open(os.path.join(debpath, 'control')) as f: 981 with open(os.path.join(debpath, 'control'), 'r', errors='surrogateescape') as f:
982 indesc = False 982 indesc = False
983 for line in f: 983 for line in f:
984 if indesc: 984 if indesc: