From 2c110594bbf9b8450e66382ce790fce49a11114e Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 1 Mar 2012 17:17:54 +0200 Subject: Add retries to apt-get install operations, to workaround EC2 issues. --- node/setup-build-android | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'node') 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 \ -- cgit v1.2.3