summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/update/updater/gen_cert_header.py
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/update/updater/gen_cert_header.py')
-rw-r--r--toolkit/mozapps/update/updater/gen_cert_header.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/toolkit/mozapps/update/updater/gen_cert_header.py b/toolkit/mozapps/update/updater/gen_cert_header.py
new file mode 100644
index 0000000000..da78cad674
--- /dev/null
+++ b/toolkit/mozapps/update/updater/gen_cert_header.py
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import os
+
+
+def file_byte_generator(filename, block_size=512):
+ with open(filename, "rb") as f:
+ while True:
+ block = f.read(block_size)
+ if block:
+ for byte in block:
+ yield byte
+ else:
+ break
+
+
+def create_header(out_fh, in_filename):
+ assert out_fh.name.endswith(".h")
+ array_name = os.path.basename(out_fh.name)[:-2] + "Data"
+ hexified = ["0x%02x" % byte for byte in file_byte_generator(in_filename)]
+
+ print("const uint8_t " + array_name + "[] = {", file=out_fh)
+ print(", ".join(hexified), file=out_fh)
+ print("};", file=out_fh)
+ return 0