mirror of
https://github.com/tuna/tunasync.git
synced 2025-06-15 14:12:47 +00:00
more robust package downloading
This commit is contained in:
parent
026921e050
commit
ec7d039a66
@ -59,20 +59,26 @@ function apt-download-binary() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
(echo -e "${pkgidx_content}" | grep '^Filename' | cut -d' ' -f 2) | while read pkg_filename; do
|
(echo -e "${pkgidx_content}" | grep -e '^Filename' -e '^Size' -e '^MD5sum' | cut -d' ' -f 2) | \
|
||||||
|
while read pkg_filename; read pkg_size; read pkg_md5; do
|
||||||
dest_filename="${dest_base_dir}/${pkg_filename}"
|
dest_filename="${dest_base_dir}/${pkg_filename}"
|
||||||
dest_dir=`dirname ${dest_filename}`
|
dest_dir=`dirname ${dest_filename}`
|
||||||
[ ! -d "$dest_dir" ] && mkdir -p "$dest_dir"
|
[ ! -d "$dest_dir" ] && mkdir -p "$dest_dir"
|
||||||
pkg_url="${base_url}/${pkg_filename}"
|
pkg_url="${base_url}/${pkg_filename}"
|
||||||
|
let downloaded="false"
|
||||||
if [ -f ${dest_filename} ]; then
|
if [ -f ${dest_filename} ]; then
|
||||||
echo "Skipping ${pkg_filename}"
|
rsize=`stat -c "%s" ${dest_filename}`
|
||||||
else
|
if [ ${rsize} -eq ${pkg_size} ]; then
|
||||||
echo "downloading ${pkg_url}"
|
downloaded="true"
|
||||||
# touch ${dest_filename}
|
echo "Skipping ${pkg_filename}, size ${pkg_size}"
|
||||||
wget -q -O ${dest_filename} ${pkg_url} || true
|
fi
|
||||||
fi
|
fi
|
||||||
|
while [ $downloaded != "true" ]; do
|
||||||
|
echo "downloading ${pkg_url}"
|
||||||
|
wget -q -O ${dest_filename} ${pkg_url} && {
|
||||||
|
echo "${pkg_md5} ${dest_filename}" | md5sum -c - && downloaded=true # two space for md5sum check format
|
||||||
|
}
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user