2018-12-18 02:08:53 +01:00
|
|
|
#!/usr/bin/env bash
|
2018-12-14 03:15:13 +01:00
|
|
|
set -x
|
|
|
|
set -e
|
|
|
|
|
2019-01-04 21:40:27 +01:00
|
|
|
is_prod=false
|
|
|
|
args="$(getopt -o '' --long prod -- "$@")"
|
|
|
|
eval "set -- $args"
|
|
|
|
while true; do
|
|
|
|
case "$1" in
|
|
|
|
--prod) is_prod=true; shift;;
|
|
|
|
--) shift; break;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2018-12-17 19:41:03 +01:00
|
|
|
is_centos=false
|
2018-12-18 15:40:05 +01:00
|
|
|
is_rhel=false
|
|
|
|
is_rhel_registered=false
|
2018-12-17 19:41:03 +01:00
|
|
|
if [ -e /etc/centos-release ]; then
|
|
|
|
is_centos=true
|
|
|
|
yum install -y epel-release
|
2019-01-04 21:40:27 +01:00
|
|
|
|
|
|
|
if [ "$is_prod" = true ]; then
|
|
|
|
# IUS is needed for installing python36u-mod_wsgi on prod env
|
|
|
|
yum localinstall -y https://centos7.iuscommunity.org/ius-release.rpm
|
|
|
|
fi
|
|
|
|
|
2018-12-18 15:40:05 +01:00
|
|
|
elif grep -q "Red Hat" /etc/redhat-release; then
|
|
|
|
is_rhel=true
|
|
|
|
yum localinstall -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
|
|
|
if subscription-manager status; then
|
|
|
|
# See https://access.redhat.com/discussions/2217891#comment-1032701
|
|
|
|
is_rhel_registered=true
|
|
|
|
# libmemcached-devel can be installed directly if the machine is registered
|
|
|
|
subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
|
|
|
|
fi
|
2018-12-17 19:41:03 +01:00
|
|
|
fi
|
2019-01-04 21:40:27 +01:00
|
|
|
|
2018-12-16 22:33:54 +01:00
|
|
|
yum update -y
|
2018-12-14 03:15:13 +01:00
|
|
|
|
|
|
|
# "Development Tools" is the equivalent of build-essential
|
|
|
|
yum groupinstall -y "Development Tools"
|
|
|
|
|
|
|
|
RHVER="$(rpm -qf --queryformat="%{VERSION}" /etc/redhat-release)"
|
|
|
|
RHARCH="$(rpm -qf --queryformat="%{ARCH}" /etc/redhat-release)"
|
2018-12-16 20:29:45 +01:00
|
|
|
PGVER=10
|
2018-12-17 19:41:03 +01:00
|
|
|
if [ "$is_centos" = true ]; then
|
|
|
|
# PostgreSQL $PGVER
|
2020-06-08 08:55:28 +02:00
|
|
|
yum localinstall -y "https://yum.postgresql.org/$PGVER/redhat/rhel-$RHVER-$RHARCH/pgdg-redhat-repo-latest.noarch.rpm"
|
2018-12-14 03:15:13 +01:00
|
|
|
|
2018-12-17 19:41:03 +01:00
|
|
|
# PGroonga
|
|
|
|
# https://pgroonga.github.io/install/centos.html
|
|
|
|
yum localinstall -y https://packages.groonga.org/centos/groonga-release-latest.noarch.rpm
|
2018-12-18 15:40:05 +01:00
|
|
|
elif [ "$is_rhel" = true ]; then
|
|
|
|
if [ "$is_rhel_registered" = false ]; then
|
|
|
|
echo "This machine is unregistered; installing libmemcached-devel from a CentOS mirror ..."
|
|
|
|
yum localinstall -y http://mirror.centos.org/centos/7/os/x86_64/Packages/libmemcached-devel-1.0.16-5.el7.x86_64.rpm
|
|
|
|
fi
|
|
|
|
yum localinstall -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-latest-x86_64/pgdg-redhat10-10-2.noarch.rpm
|
|
|
|
yum localinstall -y https://packages.groonga.org/centos/groonga-release-latest.noarch.rpm
|
2018-12-17 19:41:03 +01:00
|
|
|
else
|
|
|
|
# TODO only fedora29 for now
|
|
|
|
dnf install -y "https://download.postgresql.org/pub/repos/yum/$PGVER/fedora/fedora-29-x86_64/pgdg-fedora$PGVER-$PGVER-4.noarch.rpm"
|
|
|
|
fi
|