mirror of
https://github.com/tuna/tunasync-scripts.git
synced 2025-04-20 04:12:42 +00:00
sync the latest release of all major versions (tuna/issues#748)
This commit is contained in:
parent
631848190d
commit
56e5567b57
@ -65,57 +65,68 @@ echo "Debian and ubuntu finished"
|
||||
|
||||
# === download standalone packages ====
|
||||
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "/tmp/index.html" "${BASE_URL}/"
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "${BASE_PATH}/LATEST.TXT" "${BASE_URL}/LATEST.TXT"
|
||||
LATEST_VERSION=`cat "${BASE_PATH}/LATEST.TXT"`
|
||||
LATEST_PATH="${BASE_PATH}/${LATEST_VERSION}"
|
||||
|
||||
mkdir -p ${LATEST_PATH}
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "${LATEST_PATH}/MD5SUMS" "${BASE_URL}/${LATEST_VERSION}/MD5SUMS"
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "${LATEST_PATH}/SHA256SUMS" "${BASE_URL}/${LATEST_VERSION}/SHA256SUMS"
|
||||
for major in 4 5 6 7 8;do
|
||||
LATEST_VERSION=$(grep -P -o "\"$major\.[\\d\\.]+/\"" -r /tmp/index.html|tail -n 1)
|
||||
LATEST_VERSION=${LATEST_VERSION%/\"}
|
||||
LATEST_VERSION=${LATEST_VERSION#\"}
|
||||
[[ -z "$LATEST_VERSION" ]] && continue
|
||||
|
||||
while read line; do
|
||||
read -a tokens <<< $line
|
||||
pkg_checksum=${tokens[0]}
|
||||
filename=${tokens[1]}
|
||||
filename=${filename/\*/}
|
||||
LATEST_PATH="${BASE_PATH}/${LATEST_VERSION}"
|
||||
|
||||
dest_filename="${LATEST_PATH}/${filename}"
|
||||
pkg_url="${BASE_URL}/${LATEST_VERSION}/${filename}"
|
||||
mkdir -p ${LATEST_PATH}
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "${LATEST_PATH}/MD5SUMS" "${BASE_URL}/${LATEST_VERSION}/MD5SUMS"
|
||||
timeout -s INT 30 wget ${WGET_OPTIONS:-} -q -O "${LATEST_PATH}/SHA256SUMS" "${BASE_URL}/${LATEST_VERSION}/SHA256SUMS"
|
||||
|
||||
declare downloaded=false
|
||||
while read line; do
|
||||
read -a tokens <<< $line
|
||||
pkg_checksum=${tokens[0]}
|
||||
filename=${tokens[1]}
|
||||
filename=${filename/\*/}
|
||||
|
||||
if [[ -f ${dest_filename} ]]; then
|
||||
echo "${pkg_checksum} ${dest_filename}" | md5sum -c - && {
|
||||
downloaded=true
|
||||
echo "Skipping ${filename}"
|
||||
}
|
||||
fi
|
||||
for retry in `seq ${MAX_RETRY}`; do
|
||||
rm ${dest_filename} || true
|
||||
echo "downloading ${pkg_url} to ${dest_filename}"
|
||||
if [[ -z ${DRY_RUN:-} ]]; then
|
||||
timeout -s INT "$DOWNLOAD_TIMEOUT" wget ${WGET_OPTIONS:-} -N -c -q -O ${dest_filename} ${pkg_url} && {
|
||||
# two space for md5sum/sha1sum/sha256sum check format
|
||||
echo "${pkg_checksum} ${dest_filename}" | md5sum -c - && downloaded=true
|
||||
dest_filename="${LATEST_PATH}/${filename}"
|
||||
pkg_url="${BASE_URL}/${LATEST_VERSION}/${filename}"
|
||||
|
||||
declare downloaded=false
|
||||
|
||||
if [[ -f ${dest_filename} ]]; then
|
||||
echo "${pkg_checksum} ${dest_filename}" | md5sum -c - && {
|
||||
downloaded=true
|
||||
echo "Skipping ${filename}"
|
||||
}
|
||||
else
|
||||
downloaded=true
|
||||
fi
|
||||
[[ $downloaded == true ]] && break
|
||||
done
|
||||
if [[ $downloaded == false ]];then
|
||||
echo "failed to download ${pkg_url} to ${dest_filename}"
|
||||
exit 1
|
||||
fi
|
||||
for retry in `seq ${MAX_RETRY}`; do
|
||||
[[ $downloaded == true ]] && break
|
||||
rm ${dest_filename} || true
|
||||
echo "downloading ${pkg_url} to ${dest_filename}"
|
||||
if [[ -z ${DRY_RUN:-} ]]; then
|
||||
timeout -s INT "$DOWNLOAD_TIMEOUT" wget ${WGET_OPTIONS:-} -N -c -q -O ${dest_filename} ${pkg_url} && {
|
||||
# two space for md5sum/sha1sum/sha256sum check format
|
||||
echo "${pkg_checksum} ${dest_filename}" | md5sum -c - && downloaded=true
|
||||
}
|
||||
else
|
||||
downloaded=true
|
||||
fi
|
||||
done
|
||||
if [[ $downloaded == false ]];then
|
||||
echo "failed to download ${pkg_url} to ${dest_filename}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
done < "${LATEST_PATH}/MD5SUMS"
|
||||
echo "Virtualbox ${LATEST_VERSION} finished"
|
||||
done
|
||||
|
||||
LATEST_VERSION=`cat "${BASE_PATH}/LATEST.TXT"`
|
||||
for filename in ${BASE_PATH}/${LATEST_VERSION}/*.*; do
|
||||
case $filename in
|
||||
*Win.exe)
|
||||
ln -sf ${dest_filename} ${BASE_PATH}/virtualbox-Win-latest.exe
|
||||
ln -sf "${filename}" "${BASE_PATH}/virtualbox-Win-latest.exe"
|
||||
;;
|
||||
*OSX.dmg)
|
||||
ln -sf ${dest_filename} ${BASE_PATH}/virtualbox-osx-latest.dmg
|
||||
ln -sf "${filename}" "${BASE_PATH}/virtualbox-osx-latest.dmg"
|
||||
;;
|
||||
esac
|
||||
|
||||
done < "${LATEST_PATH}/MD5SUMS"
|
||||
echo "Virtualbox ${LATEST_VERSION} finished"
|
||||
done
|
Loading…
x
Reference in New Issue
Block a user