summaryrefslogtreecommitdiffstats
path: root/packer/provision
diff options
context:
space:
mode:
authorC.J. Collier <cjcollier@linuxfoundation.org>2017-03-31 13:25:44 -0700
committerC.J. Collier <cjcollier@linuxfoundation.org>2017-03-31 14:48:31 -0700
commitd8e9b87846aea7b4c471d66ce2d58326851f9729 (patch)
treeb93bfa294d17de860c009ce908d57570b78df633 /packer/provision
parent3660f93a9f5a9a663beaf20e8fd6fb2772d76206 (diff)
Increase lock check verbosity
* print FILE/USER/PID/ACCESS/COMMAND for each lock * use ${i} instead of ${WASLOCKED} to determine whether file lock was taken * add a 1s back-off if lock had been taken * use TERM=dumb to avoid tput noise when there is no tty * add /var/cache/apt/archives/lock to list of lock files Change-Id: Ib04f67892581a7bf33125d485fcc69044d3d1c5d Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org> Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
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 82edb3fe..a0ef6806 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