summaryrefslogtreecommitdiffstats
path: root/packer/provision
diff options
context:
space:
mode:
Diffstat (limited to 'packer/provision')
-rw-r--r--packer/provision/baseline.sh12
1 files changed, 7 insertions, 5 deletions
diff --git a/packer/provision/baseline.sh b/packer/provision/baseline.sh
index 82edb3fe7..a0ef68061 100644
--- a/packer/provision/baseline.sh
+++ b/packer/provision/baseline.sh
@@ -120,12 +120,13 @@ EOF
cat << 'EOF' >> /usr/local/bin/apt-get
#!/bin/bash
+TTY=$(tty)
+test -z "$TTY" && TERM=dumb
+
i=0
tput sc
-LOCKFILES="/var/lib/dpkg/lock /var/lib/apt/lists/lock"
-WASLOCKED=0
-while [ fuser ${LOCKFILES} >/dev/null 2>&1 ]; do
- WASLOCKED=$?
+LOCKFILES="/var/lib/dpkg/lock /var/lib/apt/lists/lock /var/cache/apt/archives/lock"
+while fuser ${LOCKFILES} >/dev/null 2>&1 ; do
case $(($i % 4)) in
0 ) j="-" ;;
1 ) j="\\" ;;
@@ -138,10 +139,11 @@ while [ fuser ${LOCKFILES} >/dev/null 2>&1 ]; do
((i=i+1))
done
-if [ $WASLOCKED==0 ]
+if [ $i==0 ]
then
/usr/bin/apt-get "$@"
else
+ sleep 1
exec /usr/local/bin/apt-get "$@"
fi