Increase lock check verbosity 89/5989/7
authorC.J. Collier <cjcollier@linuxfoundation.org>
Fri, 31 Mar 2017 20:25:44 +0000 (13:25 -0700)
committerC.J. Collier <cjcollier@linuxfoundation.org>
Fri, 31 Mar 2017 21:48:31 +0000 (14:48 -0700)
* 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>
packer/provision/baseline.sh

index 82edb3f..a0ef680 100644 (file)
@@ -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