#!/bin/bash

# CONTEXT: GUEST during CONSTRUCTION as ROOT
# PURPOSE: Install controller base required packages

set -e
set -o xtrace

export DEBIAN_FRONTEND=noninteractive

apt-get --allow-unauthenticated -y install mysql-client mysql-server

# Xenial provides mysql 5.7 which requires percona-xtrabackup-24
PXB_VERSION_OVERRIDE=24
#PKGS=$(apt-cache search percona-xtrabackup-${PXB_VERSION_OVERRIDE})
#if [[ "$PKGS" == *"percona-xtrabackup-$PXB_VERSION_OVERRIDE"* ]]; then
#    apt-get --allow-unauthenticated -y install percona-xtrabackup-${PXB_VERSION_OVERRIDE}
#else
#    # Architecture is not supported by percona website.  Compile and install it
#    PXB_VERSION=${PXB_VERSION_OVERRIDE:0:1}.${PXB_VERSION_OVERRIDE:1:1}
#
#    apt-get --allow-unauthenticated -y install build-essential flex bison automake autoconf \
#       libtool cmake libaio-dev mysql-client libncurses-dev zlib1g-dev \
#       libgcrypt11-dev libev-dev libcurl4-gnutls-dev vim-common
#
#    pushd /tmp
#
#    git clone https://github.com/percona/percona-xtrabackup.git
#    cd percona-xtrabackup
#    git checkout $PXB_VERSION
#
#    mkdir /tmp/boost
#    cmake -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp/boost -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF && make -j4
#    make install
#    ln -s /usr/local/xtrabackup/bin/* /usr/bin/
#
#    dpkg -P build-essential automake autoconf libtool cmake
#    apt-get -y clean
#
#    popd
#
#    rm -rf /tmp/boost /tmp/percona-xtrabackup
#fi

# NOTE(lxkong): Refer to https://www.percona.com/doc/percona-xtrabackup/2.4/installation/apt_repo.html
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
apt-get update
apt-get --allow-unauthenticated -y install percona-xtrabackup-${PXB_VERSION_OVERRIDE}

cat >/etc/mysql/conf.d/no_perf_schema.cnf <<_EOF_
[mysqld]
performance_schema = off
show_compatibility_56 = on
_EOF_

mv /etc/mysql/my.cnf.fallback /etc/mysql/my.cnf
chown mysql:mysql /etc/mysql/my.cnf
cat >/etc/mysql/my.cnf <<_EOF_
[mysql]

!includedir /etc/mysql/conf.d/
_EOF_

if [ -e /etc/init/mysql.conf ]; then
    rm -f /etc/init/mysql.conf
fi

systemctl enable mysql
