Files
loci/scripts/install.sh
Jean-Philippe Evrard 06b5321eda Remove bindep pin
Without this patch, we are stuck to an old version of bindep
and distro. There is no reason to pin or patch bindep anymore.

This is a problem because more recent distributions like
opensuse leap 15 will have profile detection issues.

This should fix it.

Change-Id: Ia3637b3801590cda92be433ca3ba79f62e15512a
2018-07-26 20:27:03 +02:00

72 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -ex
distro=$(awk -F= '/^ID=/ {gsub(/\"/, "", $2); print $2}' /etc/*release)
export distro=${DISTRO:=$distro}
if [[ "${PYTHON3}" == "no" ]]; then
dpkg_python_packages=("python" "virtualenv")
rpm_python_packages=("python" "python-virtualenv")
else
dpkg_python_packages=("python3" "python3-virtualenv")
rpm_python_packages=("python3" "python3-virtualenv")
fi
case ${distro} in
debian|ubuntu)
apt-get update
apt-get upgrade -y
apt-get install -y --no-install-recommends \
git \
ca-certificates \
netbase \
lsb-release \
patch \
sudo \
${dpkg_python_packages[@]}
;;
centos)
yum upgrade -y
yum install -y --setopt=skip_missing_names_on_install=False \
git \
patch \
redhat-lsb-core \
sudo \
${rpm_python_packages[@]}
;;
*)
echo "Unknown distro: ${distro}"
exit 1
;;
esac
if [[ "${PROJECT}" == "requirements" ]]; then
$(dirname $0)/requirements.sh
exit 0
fi
$(dirname $0)/fetch_wheels.sh
if [[ "${PROJECT}" == "infra" ]]; then
$(dirname $0)/setup_pip.sh
$(dirname $0)/pip_install.sh bindep ${PIP_PACKAGES}
$(dirname $0)/install_packages.sh
$(dirname $0)/cleanup.sh
exit 0
fi
if [[ "${PLUGIN}" == "no" ]]; then
$(dirname $0)/create_user.sh
$(dirname $0)/setup_pip.sh
$(dirname $0)/pip_install.sh bindep
PACKAGES=($(bindep -f /opt/loci/pydep.txt -b -l newline ${PROJECT} ${PROFILES} ${python3} || :))
$(dirname $0)/pip_install.sh ${PACKAGES[@]}
fi
if [[ ${PROJECT} == 'nova' ]]; then
$(dirname $0)/install_nova_console.sh
fi
$(dirname $0)/clone_project.sh
$(dirname $0)/pip_install.sh /tmp/${PROJECT} ${PIP_PACKAGES}
$(dirname $0)/install_packages.sh
$(dirname $0)/cleanup.sh