diff options
author | Ayan Kumar Halder | 2021-12-21 13:04:46 +0000 |
---|---|---|
committer | Stefano Stabellini | 2021-12-21 09:41:12 -0800 |
commit | 1ff56037d6dc9e94c4ba512dd0af41e6843645af (patch) | |
tree | ec1cf34cffc2afeefbdd576da24de491ce836201 /scripts/uboot-script-gen | |
parent | cd949669b6f905839a49b18a89d4d1bc7304a8b4 (diff) |
Avoid exiting the script from the common
If there is any error in compile_merge_partial_dts() and
sanity_check_partial_dts(), it should return 1 to the caller.
The caller will then check the return and call cleanup_and_return_err()
(which terminates the script).
This is to prevent compile_merge_partial_dts() and
sanity_check_partial_dts() terminating the script.
The reason being these functions can get invoked from
disk_image (in the future) which may require some additional
cleanup.
Also, moved cleanup_and_return_err() to uboot-script-gen as the
cleanup is specific to the script.
Ensure that we preseve the directory containing the partial dtbs only
when the dtbs were generated successfully. Else, we delete it.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Diffstat (limited to 'scripts/uboot-script-gen')
-rwxr-xr-x | scripts/uboot-script-gen | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen index 967cf6d..71669a9 100755 --- a/scripts/uboot-script-gen +++ b/scripts/uboot-script-gen @@ -4,6 +4,12 @@ offset=$((2*1024*1024)) filesize=0 prog_req=(mkimage file fdtput mktemp awk) +function cleanup_and_return_err() +{ + rm -f $UBOOT_SOURCE $UBOOT_SCRIPT + remove_tmp_files + exit 1 +} function dt_mknode() { @@ -854,8 +860,14 @@ cd "$uboot_dir" if test "$PASSTHROUGH_DTS_REPO" then - compile_merge_partial_dts "$PASSTHROUGH_DTS_REPO" - echo "Done compiling the partial device trees" + output_dir=`mktemp -d "partial-dtbs-XXX"` + compile_merge_partial_dts $output_dir "$PASSTHROUGH_DTS_REPO" + if test $? -ne 0 + then + # Remove the output dir holding the partial dtbs in case of any error + tmp_dirs+=($output_dir) + cleanup_and_return_err + fi fi if test "$FIT" |