aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2019-05-25 14:27:46 -0300
committerEuAndreh <eu@euandre.org>2019-05-25 14:29:49 -0300
commiteecd062f9ee189579d4263be5c73b42a16f23faa (patch)
tree6b7b81d3ef9ea1ccbe8289f73bbd2fc8518805a3
parentMove provisioning code into provision.sh (diff)
downloadserver-eecd062f9ee189579d4263be5c73b42a16f23faa.tar.gz
server-eecd062f9ee189579d4263be5c73b42a16f23faa.tar.xz
Use apt_wait before interacting with apt-get
-rw-r--r--provision.sh23
1 files changed, 20 insertions, 3 deletions
diff --git a/provision.sh b/provision.sh
index b9cbb79..deb3056 100644
--- a/provision.sh
+++ b/provision.sh
@@ -2,6 +2,23 @@
set -Eeuo pipefail
cd "${BASH_SOURCE%/*}/"
-sudo apt-get update
-sudo apt-get upgrade -y
-sudo apt-get install -y docker-compose
+apt_wait() {
+ local -r i=0
+ tput sc
+ while fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do
+ case $((i % 4)) in
+ 0 ) j="-" ;;
+ 1 ) j="\\" ;;
+ 2 ) j="|" ;;
+ 3 ) j="/" ;;
+ esac
+ tput rc
+ echo -en "\r[$j] Waiting for other software managers to finish..."
+ sleep 0.5
+ ((i=i+1))
+ done
+}
+
+apt_wait && sudo apt-get update
+apt_wait && sudo apt-get upgrade -y
+apt_wait && sudo apt-get install -y docker-compose