diff options
author | 2017-02-14 19:36:32 +0000 | |
---|---|---|
committer | 2017-02-14 19:36:32 +0000 | |
commit | d72cae1f406002624b2e8b2e569206d95d582082 (patch) | |
tree | 3e49e6f4ec305b9c9837f18f1a851744ab772cd6 | |
parent | 7c9a6c112a0c89e19132ca045a28760805234ec8 (diff) | |
parent | de7f7500536419e249ff0dac9b21cec1a6981ca9 (diff) |
Merge "Additional fixes for dpkg lock issues"
-rw-r--r-- | packer/provision/baseline.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/packer/provision/baseline.sh b/packer/provision/baseline.sh index d97f0e2ed..625728aaf 100644 --- a/packer/provision/baseline.sh +++ b/packer/provision/baseline.sh @@ -115,6 +115,31 @@ Dpkg::Options { EOF + # Wrap apt-get to wait for the lock to become available for operation + # http://askubuntu.com/questions/132059/how-to-make-a-package-manager-wait-if-another-instance-of-apt-is-running + cat <<EOF >> /usr/local/bin/apt-get +#!/bin/bash + +i=0 +tput sc +while fuser /var/lib/dpkg/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 + +/usr/bin/apt-get "$@" + +EOF + chmod +x /usr/local/bin/apt-get + echo "---> Updating operating system" apt-get update apt-get upgrade |