2020-08-14 08:37:25 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e -x
|
|
|
|
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
install_retry_counter=0
|
|
|
|
max_apt_retries=5
|
|
|
|
|
|
|
|
# This function loops a couple of times over apt-get, hoping to
|
|
|
|
# avoid CI errors due to errors during apt-get
|
|
|
|
# hashsum mismatches, DNS errors and similar things
|
|
|
|
while true; do
|
2020-09-23 06:29:35 +00:00
|
|
|
(( install_retry_counter+=1 ))
|
2020-08-14 08:37:25 +00:00
|
|
|
if [ ${install_retry_counter} -gt ${max_apt_retries} ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-09-23 06:29:35 +00:00
|
|
|
# shellcheck disable=SC2068
|
2020-08-14 08:37:25 +00:00
|
|
|
apt-get clean -qqy && apt-get update -qqy && apt-get install -qqy --no-install-recommends $@ && break
|
|
|
|
|
|
|
|
# In case it is a network error let's wait a bit.
|
|
|
|
echo "Retrying attempt ${install_retry_counter}"
|
|
|
|
sleep ${install_retry_counter}
|
|
|
|
done
|