#!/bin/bash

# Detect OS version 
dist=$(lsb_release -si)
ver=$(lsb_release -sr)
nam=$(lsb_release -sc)
desc=$(lsb_release -sd)
if [ "$nam" != "noble" ] && [ "$nam" != "bionic" ]; then
	echo "Can't install ZVT on $desc"
	exit 1
fi

account=`whoami`
if [ ${account} != "root" ]; then
	echo " Hi ${account}, you are NOT the supervisor."
	echo " The root permission is required to run this installer."
	echo " You must execute this script with sudo"
	echo ' '
	exit 1
fi


# Install EasyZVT on 64 bits
#target="/home/pcscale/easyzvt"
#mkdir -p $target/protocol
#mkdir -p $target/output
#cd $target



# Install dotnet SDK 3.1 (Needded by EasyZVT)
dotnet_ver="_"
if [ "$nam" = "bionic" ]; then
	if [ -f /usr/bin/dotnet ]; then
		dotnet_ver=$(dotnet --list-runtimes | grep 3.1 | awk -F ' ' '{print $2}' | awk -F '.' '{print $1"."$2}')
	fi
	if [ "$dotnet_ver" = "3.1" ]; then
		echo Dotnet 3.1 already installed!
	else
		echo Installing Dotnet version 3.1...
		# Add the Microsoft package signing key to your list of trusted keys and add the package repository.
		wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
		dpkg -i packages-microsoft-prod.deb
		rm packages-microsoft-prod.deb
		# Install .NET runtime
		apt-get update -qq
		apt-get install -qq -y apt-transport-https
		apt-get update -qq
		apt-get install -qq -y dotnet-runtime-3.1
		echo Dotnet 3.1 installed!
	fi
fi

if [ "$nam" = "noble" ]; then
	if [ -d /usr/local/bin/dotnet ]; then
		dotnet_ver=$(dotnet --list-runtimes | grep 3.1 | head -1 | awk -F ' ' '{print $2}' | awk -F '.' '{print $1"."$2}')
	fi
	if [ "$dotnet_ver" = "3.1" ]; then
		echo Dotnet 3.1 already installed!
	else
		echo Installing Dotnet version 3.1...
		mkdir -p /usr/local/bin/dotnet
		wget -q https://builds.dotnet.microsoft.com/dotnet/Sdk/3.1.426/dotnet-sdk-3.1.426-linux-x64.tar.gz
		tar zxf dotnet-sdk-3.1.426-linux-x64.tar.gz -C /usr/local/bin/dotnet
		rm dotnet-sdk-3.1.426-linux-x64.tar.gz
		# Add path to environement
		grep -q "/usr/local/bin/dotnet" /home/pcscale/.profile
		if [ $? -ne 0 ]; then
			su pcscale -c"echo '' >> ~/.profile"
			su pcscale -c"echo '# set dotnet PATH if it exists' >> ~/.profile"
			su pcscale -c"echo 'if [ -d \"/usr/local/bin/dotnet\" ] ; then' >> ~/.profile"
			su pcscale -c"echo '    PATH=\"\$PATH:/usr/local/bin/dotnet\"' >> ~/.profile"
			su pcscale -c"echo 'fi' >> ~/.profile"
			su pcscale -c"echo '' >> ~/.profile"
			su pcscale -c"echo 'export DOTNET_ROOT=/usr/local/bin/dotnet' >> ~/.profile"
			su pcscale -c"echo 'export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1' >> ~/.profile"
			su pcscale -c"echo '' >> ~/.profile"
		fi
		echo Dotnet 3.1 installed!
	fi
fi

if [ -f /usr/local/bin/EasyZVT_CoreX64 ]; then
	echo EasyZVT_CoreX64 already installed!
else
	wget -q http://www.easyzvt.de/download/EasyZVT_CoreX64
	chmod +x EasyZVT_CoreX64
	mv EasyZVT_CoreX64 /usr/local/bin
	mkdir -p /var/lib/easyzvt/protocol
	mkdir -p /var/lib/easyzvt/output
	echo EasyZVT_CoreX64 installed!
fi
#usr=$(id -un 1000)
#chown $usr:$usr -R $target
