1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- # We want to catch any command failure, and exit immediately
- set -e
- # Download helper for wget
- # Call it with:
- # $1: URL
- # $2: output file
- # And this environment:
- # WGET : the wget command to call
- # BUILD_DIR: path to Buildroot's build dir
- url="${1}"
- output="${2}"
- tmp_dl="$( mktemp "${BUILD_DIR}/.XXXXXX" )"
- tmp_output="$( mktemp "${output}.XXXXXX" )"
- # Play tic-tac-toe with temp files
- # - first, we download to a trashable location (the build-dir)
- # - then we copy to a temporary tarball in the final location, so it is
- # on the same filesystem as the final file
- # - finally, we atomically rename to the final file
- ret=1
- if ${WGET} -O "${tmp_dl}" "${url}"; then
- if mv "${tmp_dl}" "${tmp_output}"; then
- mv "${tmp_output}" "${output}"
- ret=0
- fi
- fi
- rm -f "${tmp_dl}" "${tmp_output}"
- exit ${ret}
|