summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2009-01-08 15:40:18 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2009-01-08 15:40:18 +0000
commitc35d78a7d8734b0cc508a5d54f412f92edb3689e (patch)
treef07eeb8f9d9cc21ac710f067f09ec6aa31dd61ec /scripts
parentf7b94dd09157539c4257112d9bd15080faa41083 (diff)
downloadptxdist-c35d78a7d8734b0cc508a5d54f412f92edb3689e.tar.gz
ptxdist-c35d78a7d8734b0cc508a5d54f412f92edb3689e.tar.xz
* ptxd_make_get.sh:
avoid partially downloaded files git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@9460 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/ptxd_make_get.sh15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/lib/ptxd_make_get.sh b/scripts/lib/ptxd_make_get.sh
index 019b485ff..707a4cce7 100644
--- a/scripts/lib/ptxd_make_get.sh
+++ b/scripts/lib/ptxd_make_get.sh
@@ -50,13 +50,24 @@ ptxd_make_get() {
case "${url}" in
http://*|ftp://*)
+ #
+ # download to temporary file first,
+ # and move it to correct file name after successfull download
+ #
+ local file="${url##*/}"
+ rm -f -- "${PTXDIST_SRCDIR}/${file}."*
+ local temp_file="$(mktemp "${PTXDIST_SRCDIR}/${file}.XXXXXXXXXX")"
wget \
-t 5 \
--progress=bar:force \
--passive-ftp \
${PTXDIST_QUIET:+--quiet} \
- -P "${PTXDIST_SRCDIR}" \
- "${url}" && return
+ -O ${temp_file} \
+ "${url}" && {
+ chmod 644 -- "${temp_file}" && \
+ mv -- "${temp_file}" "${PTXDIST_SRCDIR}/${file}"
+ return
+ }
;;
file*)
local thing="${url/file:\/\///}"