diff options
Diffstat (limited to 'recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch')
-rw-r--r-- | recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch | 427 |
1 files changed, 0 insertions, 427 deletions
diff --git a/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch b/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch deleted file mode 100644 index 9621cf6c..00000000 --- a/recipes-security/optee-imx/optee-os/0001-scripts-update-scripts-to-use-python3.patch +++ /dev/null @@ -1,427 +0,0 @@ -From 0d4941123b5a88351f5954f6de00892f85ed5abc Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> -Date: Mon, 20 Jan 2020 22:32:13 +0000 -Subject: [PATCH] scripts: update scripts to use python3 - -Python2 is deprecated effective Jan. 2020, and is not available in -several distributions. - -Update scripts here to re-target then onto python version 3. - -Upstream-Status: Pending - -Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> ---- - scripts/gen_hashed_bin.py | 282 ++++++++++++++++++++------------------ - scripts/gen_ld_sects.py | 8 +- - scripts/pem_to_pub_c.py | 2 +- - scripts/sign.py | 2 +- - scripts/symbolize.py | 2 +- - scripts/ta_bin_to_c.py | 2 +- - scripts/tee_bin_parser.py | 2 +- - 7 files changed, 157 insertions(+), 143 deletions(-) - -diff --git a/scripts/gen_hashed_bin.py b/scripts/gen_hashed_bin.py -index 32350a47..a76a62cc 100755 ---- a/scripts/gen_hashed_bin.py -+++ b/scripts/gen_hashed_bin.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2014-2017, Linaro Limited -@@ -14,163 +14,177 @@ import hashlib - arch_id = {'arm32': 0, 'arm64': 1} - image_id = {'pager': 0, 'paged': 1} - -+ - def write_header_v1(outf, init_size, args, paged_size): -- magic = 0x4554504f # 'OPTE' -- version = 1; -- outf.write(struct.pack('<IBBHIIIII', \ -- magic, version, arch_id[args.arch], args.flags, init_size, \ -- args.init_load_addr_hi, args.init_load_addr_lo, \ -- args.init_mem_usage, paged_size)) -+ magic = 0x4554504f # 'OPTE' -+ version = 1 -+ outf.write(struct.pack('<IBBHIIIII', -+ magic, -+ version, -+ arch_id[args.arch], -+ args.flags, -+ init_size, -+ args.init_load_addr_hi, -+ args.init_load_addr_lo, -+ args.init_mem_usage, -+ paged_size)) -+ - - def write_header_v2(outf, init_size, args, paged_size): -- magic = 0x4554504f # 'OPTE' -- version = 2 -- nb_images = 1 if paged_size == 0 else 2 -- outf.write(struct.pack('<IBBHI', \ -- magic, version, arch_id[args.arch], args.flags, nb_images)) -- outf.write(struct.pack('<IIII', \ -- args.init_load_addr_hi, args.init_load_addr_lo, \ -- image_id['pager'], init_size)) -- if nb_images == 2: -- outf.write(struct.pack('<IIII', \ -- 0xffffffff, 0xffffffff, image_id['paged'], paged_size)) -+ magic = 0x4554504f # 'OPTE' -+ version = 2 -+ nb_images = 1 if paged_size == 0 else 2 -+ outf.write(struct.pack('<IBBHI', magic, version, -+ arch_id[args.arch], args.flags, nb_images)) -+ outf.write(struct.pack('<IIII', -+ args.init_load_addr_hi, args.init_load_addr_lo, -+ image_id['pager'], init_size)) -+ if nb_images == 2: -+ outf.write( -+ struct.pack( -+ '<IIII', -+ 0xffffffff, -+ 0xffffffff, -+ image_id['paged'], -+ paged_size)) -+ - - def append_to(outf, start_offs, in_fname, max_bytes=0xffffffff): -- #print "Appending %s@0x%x 0x%x bytes at position 0x%x" % \ -- #( in_fname, start_offs, max_bytes, int(outf.tell()) ) -- inf = open(in_fname, 'rb'); -- inf.seek(start_offs) -- while True : -- nbytes = min(16 * 1024, max_bytes) -- if nbytes == 0 : -- break -- #print "Reading %s %d bytes" % (in_fname, nbytes) -- buf = inf.read(nbytes) -- if not buf : -- break -- outf.write(buf) -- max_bytes -= len(buf) -- inf.close() -+ inf = open(in_fname, 'rb') -+ inf.seek(start_offs) -+ while True: -+ nbytes = min(16 * 1024, max_bytes) -+ if nbytes == 0: -+ break -+ buf = inf.read(nbytes) -+ if not buf: -+ break -+ outf.write(buf) -+ max_bytes -= len(buf) -+ inf.close() -+ - - def append_hashes(outf, in_fname): -- page_size = 4 * 1024 -- -- inf = open(in_fname, 'r') -- while True : -- page = inf.read(page_size) -- if len(page) == page_size : -- #print "Writing hash at position 0x%x" % \ -- #int(outf.tell()) -- outf.write(hashlib.sha256(page).digest()) -- elif len(page) == 0 : -- break -- else : -- print("Error: short read, got " + repr(len(page))) -- sys.exit(1) -- -- inf.close() -+ page_size = 4 * 1024 -+ -+ inf = open(in_fname, 'rb') -+ while True: -+ page = inf.read(page_size) -+ if len(page) == page_size: -+ outf.write(hashlib.sha256(page).digest()) -+ elif len(page) == 0: -+ break -+ else: -+ print("Error: short read, got {}".format(len(page))) -+ sys.exit(1) -+ -+ inf.close() -+ - - def int_parse(str): -- return int(str, 0) -+ return int(str, 0) -+ - - def get_args(): -- parser = argparse.ArgumentParser() -- parser.add_argument('--arch', required=True, \ -- choices=arch_id.keys(), \ -- help='Architecture') -+ parser = argparse.ArgumentParser() -+ parser.add_argument('--arch', required=True, -+ choices=list(arch_id.keys()), -+ help='Architecture') - -- parser.add_argument('--flags', \ -- type=int, default=0, \ -- help='Flags, currently none defined') -+ parser.add_argument('--flags', -+ type=int, default=0, -+ help='Flags, currently none defined') - -- parser.add_argument('--init_size', \ -- required=True, type=int_parse, \ -- help='Size of initialization part of binary') -+ parser.add_argument('--init_size', -+ required=True, type=int_parse, -+ help='Size of initialization part of binary') - -- parser.add_argument('--init_load_addr_hi', \ -- type=int_parse, default=0, \ -- help='Upper 32 bits of load address of binary') -+ parser.add_argument('--init_load_addr_hi', -+ type=int_parse, default=0, -+ help='Upper 32 bits of load address of binary') - -- parser.add_argument('--init_load_addr_lo', \ -- required=True, type=int_parse, \ -- help='Lower 32 bits of load address of binary') -+ parser.add_argument('--init_load_addr_lo', -+ required=True, type=int_parse, -+ help='Lower 32 bits of load address of binary') - -- parser.add_argument('--init_mem_usage', \ -- required=True, type=int_parse, \ -- help='Total amount of used memory when initializing'); -+ parser.add_argument('--init_mem_usage', -+ required=True, type=int_parse, -+ help='Total amount of used memory when initializing') - -- parser.add_argument('--tee_pager_bin', \ -- required=True, \ -- help='The input tee_pager.bin') -+ parser.add_argument('--tee_pager_bin', -+ required=True, -+ help='The input tee_pager.bin') - -- parser.add_argument('--tee_pageable_bin', \ -- required=True, \ -- help='The input tee_pageable.bin') -+ parser.add_argument('--tee_pageable_bin', -+ required=True, -+ help='The input tee_pageable.bin') - -- parser.add_argument('--out', \ -- required=False, type=argparse.FileType('wb'), \ -- help='The output tee.bin') -+ parser.add_argument('--out', -+ required=False, type=argparse.FileType('wb'), -+ help='The output tee.bin') - -- parser.add_argument('--out_header_v2', \ -- required=False, type=argparse.FileType('wb'), \ -- help='The output tee_header_v2.bin') -+ parser.add_argument('--out_header_v2', -+ required=False, type=argparse.FileType('wb'), -+ help='The output tee_header_v2.bin') - -- parser.add_argument('--out_pager_v2', \ -- required=False, type=argparse.FileType('wb'), \ -- help='The output tee_pager_v2.bin') -+ parser.add_argument('--out_pager_v2', -+ required=False, type=argparse.FileType('wb'), -+ help='The output tee_pager_v2.bin') - -- parser.add_argument('--out_pageable_v2', \ -- required=False, type=argparse.FileType('wb'), \ -- help='The output tee_pageable_v2.bin') -+ parser.add_argument('--out_pageable_v2', -+ required=False, type=argparse.FileType('wb'), -+ help='The output tee_pageable_v2.bin') -+ -+ return parser.parse_args() - -- return parser.parse_args(); - - def main(): -- args = get_args() -- init_bin_size = args.init_size -- tee_pager_fname = args.tee_pager_bin -- tee_pageable_fname = args.tee_pageable_bin -- pager_input_size = os.path.getsize(tee_pager_fname); -- paged_input_size = os.path.getsize(tee_pageable_fname); -- hash_size = paged_input_size / (4 * 1024) * \ -- hashlib.sha256().digest_size -- -- if paged_input_size % (4 * 1024) != 0: -- print("Error: pageable size not a multiple of 4K:" + \ -- repr(paged_input_size)) -- sys.exit(1) -- -- init_size = pager_input_size + \ -- min(init_bin_size, paged_input_size) + \ -- hash_size -- paged_size = paged_input_size - \ -- min(init_bin_size, paged_input_size) -- -- if args.out is not None: -- outf = args.out -- write_header_v1(outf, init_size, args, paged_size) -- append_to(outf, 0, tee_pager_fname) -- append_to(outf, 0, tee_pageable_fname, init_bin_size) -- append_hashes(outf, tee_pageable_fname) -- append_to(outf, init_bin_size, tee_pageable_fname) -- outf.close() -- -- if args.out_header_v2 is not None: -- outf = args.out_header_v2 -- write_header_v2(outf, init_size, args, paged_size) -- outf.close() -- -- if args.out_pager_v2 is not None: -- outf = args.out_pager_v2 -- append_to(outf, 0, tee_pager_fname) -- append_to(outf, 0, tee_pageable_fname, init_bin_size) -- append_hashes(outf, tee_pageable_fname) -- outf.close() -- -- if args.out_pageable_v2 is not None: -- outf = args.out_pageable_v2 -- append_to(outf, init_bin_size, tee_pageable_fname) -- outf.close() -+ args = get_args() -+ init_bin_size = args.init_size -+ tee_pager_fname = args.tee_pager_bin -+ tee_pageable_fname = args.tee_pageable_bin -+ pager_input_size = os.path.getsize(tee_pager_fname) -+ paged_input_size = os.path.getsize(tee_pageable_fname) -+ hash_size = paged_input_size // (4 * 1024) * \ -+ hashlib.sha256().digest_size -+ -+ if paged_input_size % (4 * 1024) != 0: -+ print("Error: pageable size not a multiple of 4K: {}".format( -+ paged_input_size)) -+ sys.exit(1) -+ -+ init_size = pager_input_size + \ -+ min(init_bin_size, paged_input_size) + \ -+ hash_size -+ paged_size = paged_input_size - \ -+ min(init_bin_size, paged_input_size) -+ -+ if args.out is not None: -+ outf = args.out -+ write_header_v1(outf, init_size, args, paged_size) -+ append_to(outf, 0, tee_pager_fname) -+ append_to(outf, 0, tee_pageable_fname, init_bin_size) -+ append_hashes(outf, tee_pageable_fname) -+ append_to(outf, init_bin_size, tee_pageable_fname) -+ outf.close() -+ -+ if args.out_header_v2 is not None: -+ outf = args.out_header_v2 -+ write_header_v2(outf, init_size, args, paged_size) -+ outf.close() -+ -+ if args.out_pager_v2 is not None: -+ outf = args.out_pager_v2 -+ append_to(outf, 0, tee_pager_fname) -+ append_to(outf, 0, tee_pageable_fname, init_bin_size) -+ append_hashes(outf, tee_pageable_fname) -+ outf.close() -+ -+ if args.out_pageable_v2 is not None: -+ outf = args.out_pageable_v2 -+ append_to(outf, init_bin_size, tee_pageable_fname) -+ outf.close() -+ - - if __name__ == "__main__": -- main() -+ main() -diff --git a/scripts/gen_ld_sects.py b/scripts/gen_ld_sects.py -index c5dc3a7b..2bdbb192 100755 ---- a/scripts/gen_ld_sects.py -+++ b/scripts/gen_ld_sects.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2017, Linaro Limited -@@ -8,8 +8,8 @@ import sys - import re - - def usage(): -- print "Usage: {0} <section reg exp match> [<skip section>...]".format( \ -- sys.argv[0]) -+ print("Usage: {0} <section reg exp match> [<skip section>...]".format( \ -+ sys.argv[0])) - sys.exit (1) - - def main(): -@@ -55,7 +55,7 @@ def main(): - if sect_name in skip_sections : - continue - -- print '\t*({0})'.format(sect_name) -+ print ('\t*({0})'.format(sect_name)) - - if __name__ == "__main__": - main() -diff --git a/scripts/pem_to_pub_c.py b/scripts/pem_to_pub_c.py -index 6b8fa365..0b03d62e 100755 ---- a/scripts/pem_to_pub_c.py -+++ b/scripts/pem_to_pub_c.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2015, Linaro Limited -diff --git a/scripts/sign.py b/scripts/sign.py -index ad47479b..348b40a2 100755 ---- a/scripts/sign.py -+++ b/scripts/sign.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # - # Copyright (c) 2015, 2017, Linaro Limited - # -diff --git a/scripts/symbolize.py b/scripts/symbolize.py -index 1eecf758..0e9bd3ed 100755 ---- a/scripts/symbolize.py -+++ b/scripts/symbolize.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2017, Linaro Limited -diff --git a/scripts/ta_bin_to_c.py b/scripts/ta_bin_to_c.py -index cabddbbd..f325fda0 100755 ---- a/scripts/ta_bin_to_c.py -+++ b/scripts/ta_bin_to_c.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2017, Linaro Limited -diff --git a/scripts/tee_bin_parser.py b/scripts/tee_bin_parser.py -index 5f7dd3f0..07da5791 100755 ---- a/scripts/tee_bin_parser.py -+++ b/scripts/tee_bin_parser.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # SPDX-License-Identifier: BSD-2-Clause - # - # Copyright (c) 2016, Linaro Limited --- -2.17.1 - |