From d8e9b87846aea7b4c471d66ce2d58326851f9729 Mon Sep 17 00:00:00 2001 From: "C.J. Collier" Date: Fri, 31 Mar 2017 13:25:44 -0700 Subject: [PATCH] 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 Signed-off-by: C.J. Collier --- packer/provision/baseline.sh | 12 +++++++----- 1 file 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 -- 2.16.6