echo Voicetronix VTLogger Installer 2007
echo
echo vtlogger   v 1.3-beta10
echo vpb-driver v 4.0
echo openpci-4L or -8L  firmware 8.10
echo ubuntu-server 6.06 LTS
PORT_TYPE=4L
COUNTRY=AUSTRALIA
echo
echo run as root
echo you must have ubuntu-server minimal install -- do not use a LAMP install
echo you must have the ubuntu-server cd in the cd drive
echo you must have a network connection
echo you must have the voicetronix card installed in a spare pci slot
echo


function install_packages(){
	echo
	echo install packages
	#backup sources.list
	cp /etc/apt/sources.list /etc/apt/sources.list.orig
	#turn on universe and multiverse for sqlite3 lame icecast2
	sed -i -e "s/# deb/deb/g" /etc/apt/sources.list
	#sed -i -e "s/dapper universe/dapper universe multiverse/g" /etc/apt/sources.list

	apt-get update
	apt-get -y install make patch g++ perl ssh
	apt-get -y install pciutils-dev libz-dev
	apt-get -y install byacc flex libncurses5-dev
	apt-get -y install sqlite3 libsqlite3-dev
	#apt-get -y install lame icecast2
	apt-get -y install apache2
	apache2 -k start

	echo
	echo install kernel headers
	apt-get -y install linux-headers-$(uname -r)
}

function install_vpb_driver(){
echo
echo install vpb-driver
cd /root
if [ -d vpb-driver-4.0 ];then
	echo 
	echo vpb-driver installed
	echo
	vpbscan
else
	if [ -f vpb-driver-4.0.tar.gz ];then
		echo
	else
		wget http://www.voicetronix.com/Downloads/vpb-driver-4.x/vpb-driver-4.0.tar.gz
		#wget http://www.voicetronix.com/Downloads/vpb-driver-4.0.tar.gz
	fi
	tar zxvf vpb-driver-4.0.tar.gz
	cd vpb-driver-4.0
	#./configure for drivers 4.1.x
	#./configure
	make install
	# firmware check ??
fi
}

function install_shared_libraries_path(){
echo 
echo set up path to libvpb.so
	rm -f /etc/ld.so.conf
	echo '/usr/local/lib' > /etc/ld.so.conf
	cat /etc/ld.so.conf
	ldconfig

}

function install_conf_files(){
echo
echo install conf files
if [ -d /etc/vpb ];then
	echo
	echo config files exist
	echo
	echo vpb.conf
	cat /etc/vpb/vpb.conf
	echo openpri.conf
	cat /etc/vpb/vtcore.conf
else
	cd /root	
	mkdir -p /etc/vpb

	# vpb.conf identical for 4l and 8L
	wget http://www.voicetronix.com/Downloads/conf/vpb.conf.openpci
	cp -af vpb.conf.openpci /etc/vpb/vpb.conf

	# vtcore.conf 
        if [ $PORT_TYPE = 4L ]; then
                # Setup opempci-4L logging system
		wget http://www.voicetronix.com/Downloads/conf/vtcore.conf.openpci4L
		cp -af vtcore.conf.openpci4L /etc/vpb/vtcore.conf
        else
                # Setup opempci-8L logging system
		wget http://www.voicetronix.com/Downloads/conf/vtcore.conf.openpci8L
		cp -af vtcore.conf.openpci8L /etc/vpb/vtcore.conf
        fi
fi
}

function load_driver(){
echo
echo load driver for $COUNTRY
	modprobe -r vtopenpci
	modprobe vtopenpci country=$COUNTRY
	tail /var/log/messages
	lsmod | grep vtopenpci
}


function install_logger(){
echo
echo install logger
	cd /root
	if [ -f logger-1.3-beta10.tar.gz ];then
		echo
	else
		wget http://www.voicetronix.com/Downloads/logger-1.x/logger-1.3-beta10.tar.gz 
		#wget http://www.voicetronix.com/Downloads/logger-1.3-beta10.tar.gz
	fi
	tar zxvf logger-1.3-beta10.tar.gz
	cd logger-1.3-beta10
	#patch for driver 41 AudioCompresas

	#fixes for makefile and apache2 default
        wget http://www.voicetronix.com/Downloads/logger/openpci-logger.tar.gz
        tar zxvf openpci-logger.tar.gz
        sed -i -e "s/#CXXFLAGS += -DUSE_VOX/CXXFLAGS += -DUSE_VOX/g" src/Makefile
	make
	make install


echo make database
	make sdb

echo set up /etc/vtloggerchannel.conf
	if [ $PORT_TYPE = 4L ]; then
		#Modify /etc/vtlogger/channels.conf to 4 ports LINEAR encoding
		wget http://www.voicetronix.com/Downloads/conf/channel.conf.4_linear_analog
		cp -af conf/channel.conf.4_linear_analog /etc/vtlogger/channel.conf
	else
		#Modify /etc/vtlogger/channels.conf to 8 ports
		#8 ports LINEAR encoding install by default
                echo
	fi
}

function install_web_interface(){
echo
echo Install web interface
	make install-web
        cp default /etc/apache2/sites-available
	apache2 -k restart
}

function start_logger(){
echo
echo Start vtlogger
	vtlogger

echo install startup scripts to rc local
	rm -f /etc/rc.local
	echo -e "modprobe vtopenpci country=$COUNTRY\nsleep 5\n/usr/local/bin/vtlogger\nexit 0" >> /etc/rc.local

#Check logger operation
	#vtstatus.sh
}


if [ `id -u` != "0" ]; then
	echo "Sorry, you are not root."
	exit 1
fi

echo $"parm: $0   $1   $2"
case "$1" in
    4l)
	PORT_TYPE=4L
	;;
    4L)
	PORT_TYPE=4L
	;;
    8l)
	PORT_TYPE=8L
	;;
    8L)
	PORT_TYPE=8L
	;;
    *)
	echo $"Usage : $0 { 4L | 8L } {country}"
	exit 1
esac

case "$2" in
    AUSTRALIA)  ;;
    UK)         ;;
    USA)        ;;
    ARGENTINA)  ;;
    AUSTRIA)    ;;
    BAHRAIN)    ;;
    BELGIUM)    ;;
    BRAZIL)     ;;
    BULGARIA)   ;;
    CANADA)     ;;
    CHILE)      ;;
    CHINA)      ;;
    COLUMBIA)   ;;
    CROATIA)    ;;
    CYPRUS)     ;;
    CZECH)      ;;
    DENMARK)    ;;
    ECUADOR)    ;;
    EGYPT)      ;;
    ELSALVADOR) ;;
    FINLAND)    ;;
    FRANCE)     ;;
    GERMANY)    ;;
    GREECE)     ;;
    GUAM)       ;;
    HONGKONG)   ;;
    HUNGARY)    ;;
    ICELAND);; 
    INDIA);;
    INDONESIA);;
    IRELAND);;
    ISRAEL);;
    ITALY);;
    JAPAN);;
    JORDAN);;
    KAZAKHSTAN);;
    KUWAIT);;
    LATVIA);;
    LEBANON);;
    LUXEMBURG);;
    MACAO);;
    MALAYSIA);;
    MALTA);;
    MEXICO);;
    MOROCCO);;
    NETHERLANDS);;
    NEWZEALAND);;
    NIGERIA);;
    NORWAY);;
    OMAN);;
    PAKISTAN);;
    PERU);;
    PHILLIPPINES);;
    POLAND);;
    PORTUGAL);;
    ROMANIA);;
    RUSSIA);;
    SAUDIARABIA);;
    SINGAPORE);;
    SLOVAKIA);;
    SLOVENIA);;
    SOUTHAFRICA);;
    SOUTHKOREA);;
    SPAIN);;
    SWEDEN);;
    SWITZERLAND);;
    SYRIA);;
    TAIWAN);;
    THAILAND);;
    UAE);;
    YEMEN);;
    *)
	echo $"Usage : $0   $1   {country}"
        echo $"country must be one of"
        echo $" ARGENTINA AUSTRALIA AUSTRIA BAHRAIN BELGIUM BRAZIL BULGARIA CANADA CHILE CHINA" 
        echo $" COLOMBIA CROATIA CYPRUS CZECH DENMARK ECUADOR EGYPT ELSALVADOR FINLAND FRANCE"
        echo $" GERMANY GREECE GUAM HONGKONG HUNGARY ICELAND INDIA INDONESIA IRELAND ISRAEL ITALY"
        echo $" JAPAN JORDAN KAZAKHSTAN KUWAIT LATVIA LEBANON LUXEMBOURG MACAO MALAYSIA MALTA MEXICO"
        echo $" MOROCCO NETHERLANDS NEWZEALAND NIGERIA NORWAY OMAN PAKISTAN PERU PHILIPPINES POLAND"
        echo $" PORTUGAL ROMANIA RUSSIA SAUDIARABIA SINGAPORE SLOVAKIA SLOVENIA SOUTHAFRICA SOUTHKOREA"
        echo $" SPAIN SWEDEN SWITZERLAND SYRIA TAIWAN THAILAND UAE UK USA YEMEN"

        exit 1
esac
COUNTRY=$2
install_packages
install_vpb_driver
install_shared_libraries_path
install_conf_files
load_driver
install_logger
install_web_interface
start_logger


