Files
runner-images/images/linux/scripts/base/apt-mock.sh
T

33 lines
553 B
Bash
Raw Normal View History

2020-10-26 14:18:59 +05:00
#!/bin/bash -e
2020-10-21 10:29:07 +05:00
2020-10-26 20:21:29 +05:00
# A temporary workaround for https://github.com/Azure/azure-linux-extensions/issues/1238
2020-10-21 10:29:07 +05:00
prefix=/usr/local/bin
2020-10-23 00:25:52 +05:00
for tool in apt apt-get apt-fast;do
2020-10-21 10:29:07 +05:00
real_tool=`which $tool`
cat >$prefix/$tool <<EOT
#!/bin/sh
2020-10-23 00:25:52 +05:00
i=1
2020-10-26 19:15:04 +05:00
while [ \$i -le 30 ];do
err=\$(mktemp)
$real_tool "\$@" 2>\$err
2020-10-23 00:25:52 +05:00
result=\$?
if [ \$result -eq 0 ];then
2020-10-26 19:15:04 +05:00
break
2020-10-23 00:25:52 +05:00
fi
grep -q 'Could not get lock' \$err
held=\$?
if [ \$held -ne 0 ];then
break
fi
cat \$err >&2
sleep 5
echo "...retry \$i"
i=\$((i + 1))
2020-10-23 00:25:52 +05:00
done
2020-10-21 10:29:07 +05:00
EOT
chmod +x $prefix/$tool
done