8e3b47678e
When LXC container start systemd runs apt.systemd.daily, which locks dpkg database. This change implements a 'wait for lock release', so that install hook doesn't fail when deploying inside LXC. Change-Id: I71a38ec8ea208f6c9ef1ae3dabda63bd26fa20fa Closes-Bug: 1656651
26 lines
525 B
Bash
Executable File
26 lines
525 B
Bash
Executable File
#!/bin/bash
|
|
# Wrapper to deal with newer Ubuntu versions that don't have py2 installed
|
|
# by default.
|
|
|
|
declare -a DEPS=('apt' 'netaddr' 'netifaces' 'pip' 'yaml')
|
|
|
|
wait_for_dpkg_unlock() {
|
|
while $(fuser -s /var/lib/dpkg/lock); do sleep .5;done
|
|
}
|
|
|
|
check_and_install() {
|
|
pkg="${1}-${2}"
|
|
if ! dpkg -s ${pkg} 2>&1 > /dev/null; then
|
|
wait_for_dpkg_unlock
|
|
apt-get -y install ${pkg}
|
|
fi
|
|
}
|
|
|
|
PYTHON="python"
|
|
|
|
for dep in ${DEPS[@]}; do
|
|
check_and_install ${PYTHON} ${dep}
|
|
done
|
|
|
|
exec ./hooks/install.real
|