Files
loci/scripts/install_packages.sh
Sam Yaple 361fd6e104 Do not always install libapache2-mod-oauth2
This package is unavailable for 22.04 (the current LTS version of
Ubuntu). It is in 22.10 and may be backported to 22.04 through the
backports repo, but currently there is no prebuilt trusted source for
this package on 22.04.

This package is getting deployed on all ubuntu systems. In my opinion,
it should not have been merged, but we can gate the install around a
PROFILE='mod_oauth2' rather than revert the change entirely.

Related-Id: Ib3eac4269f7ac8365623f95a81b07a6436464ed0
Change-Id: I282b7b0aefa8aabc1f5c6495564d13b70cd0ec5d
2022-09-21 21:28:12 -04:00

48 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
set -ex
if [[ "${PYTHON3}" != "no" ]]; then
python3=python3
fi
for file in /opt/loci/bindep*; do
PACKAGES+=($(bindep -f $file -b -l newline ${PROJECT} ${PROFILES} ${python3} || :))
done
if [[ ! -z ${PACKAGES} ]]; then
case ${distro} in
ubuntu)
apt-get install -y --no-install-recommends ${PACKAGES[@]} ${DIST_PACKAGES}
# NOTE: This doesn't belong here. This should be a user shim or a
# custom base image configuration change to the apt sources
# "libapache2-mod-oauth2" package is available in Ubuntu 22.10
# NOTE(mnaser): mod_oauth2 is not available inside packaging repos, so we manually
# install it here.
if [[ "${PROFILES[*]}" =~ "mod_oauth2" ]] && [[ ${PROJECT} == 'keystone' ]] && [[ $(uname -p) == "x86_64" ]]; then
source /etc/lsb-release
apt-get install -y --no-install-recommends wget apache2
wget --no-check-certificate \
https://github.com/zmartzone/mod_oauth2/releases/download/v3.2.2/libapache2-mod-oauth2_3.2.2-1.${DISTRIB_CODENAME}+1_amd64.deb \
https://github.com/zmartzone/liboauth2/releases/download/v1.4.3/liboauth2_1.4.3-1.${DISTRIB_CODENAME}+1_amd64.deb
apt-get -y --no-install-recommends install \
./libapache2-mod-oauth2_3.2.2-1.${DISTRIB_CODENAME}+1_amd64.deb \
./liboauth2_1.4.3-1.${DISTRIB_CODENAME}+1_amd64.deb
a2enmod oauth2
rm -rfv \
./libapache2-mod-oauth2_3.2.2-1.${DISTRIB_CODENAME}+1_amd64.deb \
./liboauth2_1.4.3-1.${DISTRIB_CODENAME}+1_amd64.deb
apt-get purge -y wget
fi
;;
centos)
yum -y --setopt=skip_missing_names_on_install=False install ${PACKAGES[@]} ${DIST_PACKAGES}
;;
*)
echo "Unknown distro: ${distro}"
exit 1
;;
esac
fi