9eb22b8949
The pre-install operations may fail, yet that failure is not elevated to the user. This masks the failure and makes early package install issues difficult to troubleshoot. If the basic pre-install script fails, the charm should not proceed to later hooks as the requirements may not be met. Hashbangs for bash should specify -e (errexit) on all of the pre-install bash scripts. Change-Id: I3e421d586df341113bbcd1888f280a2ea24c52b9 Closes-bug: #1815243 Partial-bug: #1815231
21 lines
425 B
Bash
Executable File
21 lines
425 B
Bash
Executable File
#!/bin/bash -e
|
|
# Wrapper to deal with newer Ubuntu versions that don't have py2 installed
|
|
# by default.
|
|
|
|
declare -a DEPS=('apt' 'netaddr' 'netifaces' 'pip' 'yaml' 'dnspython')
|
|
|
|
check_and_install() {
|
|
pkg="${1}-${2}"
|
|
if ! dpkg -s ${pkg} 2>&1 > /dev/null; then
|
|
apt-get -y install ${pkg}
|
|
fi
|
|
}
|
|
|
|
PYTHON="python3"
|
|
|
|
for dep in ${DEPS[@]}; do
|
|
check_and_install ${PYTHON} ${dep}
|
|
done
|
|
|
|
exec ./hooks/install.real
|