From: Ross Burton Date: Wed, 8 Mar 2017 14:30:13 +0000 (+0000) Subject: license: don't assume source files are UTF-8 X-Git-Tag: uninative-1.6~279 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=b606e1430c36f1ad528fbfbbf9b8b6243390b879;p=openembedded-core.git license: don't assume source files are UTF-8 We can't assume that source files are entirely UTF-8, so when copying the license blocks open the file as binary instead of text. [ YOCTO #11135 ] Signed-off-by: Ross Burton --- diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 0ff6560a13..81458e797b 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -386,9 +386,9 @@ def copy_license_files(lic_files_paths, destdir): if begin_idx is None and end_idx is None: shutil.copyfile(src, dst) else: - with open(src, 'r') as src_f: - with open(dst, 'w') as dst_f: - dst_f.write(''.join(src_f.readlines()[begin_idx:end_idx])) + with open(src, 'rb') as src_f: + with open(dst, 'wb') as dst_f: + dst_f.write(b''.join(src_f.readlines()[begin_idx:end_idx])) except Exception as e: bb.warn("Could not copy license file %s to %s: %s" % (src, dst, e))