aboutsummaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorPaul Sokolovsky <paul.sokolovsky@linaro.org>2012-03-01 17:17:54 +0200
committerPaul Sokolovsky <paul.sokolovsky@linaro.org>2012-03-01 17:17:54 +0200
commit2c110594bbf9b8450e66382ce790fce49a11114e (patch)
tree6ef81a4b1784529fbbfa37d215d64da893b83a61 /node
parent94d6dfc1cfc0ed4e03f08d0e89d2bb2f5d4e9d39 (diff)
Add retries to apt-get install operations, to workaround EC2 issues.
Diffstat (limited to 'node')
-rwxr-xr-xnode/setup-build-android22
1 files changed, 19 insertions, 3 deletions
diff --git a/node/setup-build-android b/node/setup-build-android
index 63d8621..2256c48 100755
--- a/node/setup-build-android
+++ b/node/setup-build-android
@@ -10,6 +10,22 @@
set -xe
+# Stubborn apt-get, retrying on errors
+apt-get-retry () {
+ local delay=1;
+ while [ $delay -lt 100 ]; do
+ if apt-get "$@"; then
+ return
+ fi
+ echo "apt-get failed, sleeping ${delay}s before retrying"
+ sleep $delay
+ delay=$((delay * 2))
+ done
+ echo "apt-get failed after several attempts, aborting"
+ exit 1
+}
+
+
# get latest repo script and install it in PATH
#wget http://android.git.kernel.org/repo
# Use our mirror of repo
@@ -26,7 +42,7 @@ apt-get update
#apt-get update
# add feature to allow add-apt-repository
-apt-get install -y python-software-properties unixodbc java-common
+apt-get-retry install -y python-software-properties unixodbc java-common
# enable partner repo for sun-java6
##add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner"
@@ -45,7 +61,7 @@ update-java-alternatives -s java-6-sun || true
# Install basic development packages
# Do not install toolchains and other variable stuff here
-apt-get install -y \
+apt-get-retry install -y \
zip \
curl \
texinfo \
@@ -55,7 +71,7 @@ apt-get install -y \
git-core
# install base stuff for android
-apt-get install -y \
+apt-get-retry install -y \
gnupg \
gperf \
zlib1g-dev \