assemble: Allow use of ZEPHYR_BASE environment var
Make `-z` flag optional, so if it is not provided rely on the
ZEPHYR_BASE environemnt variable to find the Zephyr tree.
Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
diff --git a/scripts/assemble.py b/scripts/assemble.py
index 6b5f42c..1eedb67 100755
--- a/scripts/assemble.py
+++ b/scripts/assemble.py
@@ -22,6 +22,7 @@
import errno
import io
import re
+import os
import os.path
import sys
@@ -111,19 +112,27 @@
help='Signed image file for secondary image')
parser.add_argument('-o', '--output', required=True,
help='Filename to write full image to')
- parser.add_argument('-z', '--zephyr-base', required=True,
- help='Zephyr base containg the Zephyr repository')
+ parser.add_argument('-z', '--zephyr-base',
+ help='Zephyr base containing the Zephyr repository')
args = parser.parse_args()
- sys.path.insert(0, os.path.join(args.zephyr_base, "scripts", "dts"))
+ zephyr_base = args.zephyr_base
+ if zephyr_base is None:
+ try:
+ zephyr_base = os.environ['ZEPHYR_BASE']
+ except KeyError:
+ print('Need to either have ZEPHYR_BASE in environment or pass in -z')
+ sys.exit(1)
+
+ sys.path.insert(0, os.path.join(zephyr_base, "scripts", "dts"))
import edtlib
board = find_board_name(args.bootdir)
dts_path = os.path.join(args.bootdir, "zephyr", board + ".dts.pre.tmp")
- edt = edtlib.EDT(dts_path, [os.path.join(args.zephyr_base, "dts", "bindings")],
+ edt = edtlib.EDT(dts_path, [os.path.join(zephyr_base, "dts", "bindings")],
warn_reg_unit_address_mismatch=False)
output = Assembly(args.output, args.bootdir, edt)