@@ -63,7 +63,6 @@ Example:
6363 # use nix to build the OpenWrt image, no need to build a container first
6464 $PROG build example-x86_64.conf --nix
6565EOT
66- exit 0
6766}
6867
6968# return given file path as absolute path. path to file must exist.
@@ -83,7 +82,7 @@ function build_docker_image {
8382}
8483
8584function run_cmd_in_nix_shell {
86- nix-shell --pure --run " bash -c ' $* ' "
85+ nix-shell --pure --run " $* "
8786}
8887
8988function run_cmd_in_container {
@@ -103,9 +102,9 @@ function run_cmd_in_container {
103102 -v " $( abspath " $ROOTFS_OVERLAY " ) " :/lede/rootfs-overlay \
104103 -v " $( abspath " $OUTPUT_DIR " ) " :/lede/output \
105104 " ${repositories_volume[@]} " \
106- ${DOCKER_OPTS[@]} \
105+ " ${DOCKER_OPTS[@]} " \
107106 ${_DOCKER_OPTS:- } \
108- --rm " $( image_tag) " bash -c " $* "
107+ " $( image_tag) " bash -c " $* "
109108}
110109
111110function run_cmd {
@@ -162,11 +161,16 @@ download_builder() {
162161 return
163162 fi
164163
165- mkdir -p " $dir "
166- echo curl " download $url -> $dir "
167- curl --progress-bar " $url " -o " $dir /tmpbuilder" \
168- && tar xfa " $dir /tmpbuilder" --strip-components=1 -C " $dir " \
169- && rm " $dir /tmpbuilder"
164+ local tmpdir=" ${dir} .tmp"
165+ rm -rf " $tmpdir "
166+ mkdir -p " $tmpdir "
167+ trap ' rm -rf "$tmpdir"' ERR INT TERM
168+ echo " downloading $url -> $dir "
169+ curl --progress-bar " $url " -o " $tmpdir /tmpbuilder" \
170+ && tar xfa " $tmpdir /tmpbuilder" --strip-components=1 -C " $tmpdir " \
171+ && rm " $tmpdir /tmpbuilder" \
172+ && mv " $tmpdir " " $dir "
173+ trap - ERR INT TERM
170174}
171175
172176function print_config {
195199# tests if given version is at least provided reference version.
196200# version_ge_than("23.05.1", "24") -> false
197201# version_ge_than("24.0.10", "24") -> true
198- function version_ge_than { [ " ${1%% .* } " -ge " $2 " ]; }
202+ function version_ge_than { local major= " ${1%% .* } " ; [[ " $major " =~ ^[0-9]+$ ]] && [ " $major " -ge " $2 " ]; }
199203
200204# return default LEDE_BUILDER_URL if not overriden in configuration file
201205function builder_url {
@@ -300,7 +304,7 @@ function dispatch_command {
300304 run_cmd " $cmd "
301305 ;;
302306 build-docker-image)
303- [ " $RUNTIME " == " nix" ] && warn " refusing to build docker image when using --nix" && exit
307+ [ " $RUNTIME " == " nix" ] && warn " refusing to build docker image when using --nix" && exit 1
304308 print_config
305309 build_docker_image " $( builder_url) " " $( image_tag) "
306310 ;;
@@ -313,15 +317,13 @@ function dispatch_command {
313317 ;;
314318 * )
315319 usage " $0 "
316- # shellcheck disable=2317
317320 exit 0
318321 ;;
319322 esac
320323}
321324
322325if [ $# -lt 2 ]; then
323326 usage " $0 "
324- # shellcheck disable=2317
325327 exit 1
326328fi
327329
0 commit comments