* 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>
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="\\" ;;
((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