#!/usr/bin/bash
###SHELLPACK preamble sysbench-install 0.4.12.16

DBUSER=root
DBPASSWORD=shellpack-mysqlbench
DBDRIVER=postgres

###SHELLPACK parseargBegin
###SHELLPACK parseargParam	--dbdriver	DBDRIVER
###SHELLPACK parseargEnd

WEB_LOCATION=https://downloads.mysql.com/source
MIRROR_LOCATION=$WEBROOT/sysbench

# Select database driver
case $DBDRIVER in
mariadb)
	echo Checking mariadb installation
	DBDRIVER_VERSION=10.6.8
	CONFIGURE_ARGS=
	;;
postgres)
	echo Checking postgres installation
	DBDRIVER_VERSION=13.3
	CONFIGURE_ARGS="--without-mysql --with-pgsql"
	;;
*)
	die Unrecognised dbdriver $DBDRIVER
	;;
esac

# Build database and start it for sysbench config
$SHELLPACK_TOPLEVEL/shellpack_src/src/refresh.sh ${DBDRIVER}build
$SHELLPACK_INCLUDE/shellpack-bench-${DBDRIVER}build --start \
        --effective_cachesize $((MEMTOTAL_BYTES*6/10)) \
        --shared_buffers $((MEMTOTAL_BYTES/4)) \
        --work_mem $((16*1048576)) || die Failed to get usable database installation

echo Building sysbench for $DBDRIVER
export PATH=$SHELLPACK_SOURCES/${DBDRIVER}build-${DBDRIVER_VERSION}-installed/bin:$PATH
###SHELLPACK sources_fetch sysbench-${VERSION}.tar.gz sysbench-${VERSION}
###SHELLPACK build_start sysbench-${VERSION}

# Update configure files for aarch64 detection
if [ "`uname -m`" = "aarch64" ]; then
	for FILE in config.guess config.sub; do
		wget -O config/$FILE http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/$FILE
	done
fi

# Avoid -m64 on gcc-aarch64
###SHELLPACK self_extract 0001-bitness-detect.patch
cat $SHELLPACK_TEMP/0001-bitness-detect.patch | patch -p1
autoreconf -if
automake --add-missing

###SHELLPACK build_configure sysbench-${VERSION} $CONFIGURE_ARGS
###SHELLPACK make_make_install

echo sysbench for $DBDRIVER successfully installed
exit $SHELLPACK_SUCCESS

###SHELLPACK include_file 0001-bitness-detect.patch
