#!/bin/sh

export DEBIAN_FRONTEND='noninteractive'
packages="omniorb omniidl omnievents omniorb-nameserver libgtkmm-2.4-1c2a libgtkmm-2.4-dev x11vnc nfs-server sqlite3 openssh-server"

docmd(){
    echo -n "Exec \"$1\":"
    if $1 >/dev/null 2>&1;
        then
            printf "\\033[50G[ \\033[32mOK\\033[0m ]\n"
        else
            printf "\\033[50G[ \\033[31mFAIL\\033[0m ]\n"
            exit
    fi
}
            
docmd "apt-get update"

for pkg in $packages
do
    docmd "apt-get install $pkg -y"
done

cat << EOF > /etc/cron.d/monvnc
SHELL=/bin/sh
@reboot    root   /usr/local/monvnc.sh
*\10 * * * *    root   /usr/local/monvnc.sh
EOF
chmod 644 /etc/cron.d/monvnc

cat << EOF >/usr/local/monvnc.sh
#!/bin/sh
if ! pidof x11vnc >/dev/null; then
export DISPLAY=:0.0
x11vnc -passwd diaphane >/var/log/monvnc.log 2>&1
fi
EOF
chmod 755 /usr/local/monvnc.sh

cat << EOF > /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.250
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth1 eth1:0
iface eth1 inet static
    address 172.16.6.1
    netmask 255.255.254.0
iface eth1:0 inet static
    address 172.16.0.2
    netmask 255.255.254.0
EOF

cat << EOF >/etc/exports
/home/etrax     172.16.6.0/255.255.254.0(rw,no_root_squash,async,subtree_check)
EOF

cat << EOF > /etc/omniORB.cfg
InitRef = NameService=corbaname::172.16.0.2:2809
InitRef = EventService=corbaname::172.16.0.2:11169
endPoint=giop:tcp:172.16.0.2:
## show config at startup
#dumpConfiguration = 1
## debug trace
#traceLevel = 40
## thread pool(0) or one thread per connection(1)
threadPerConnectionPolicy = 1
maxServerThreadPerConnection = 20
maxServerThreadPoolSize = 700
clientCallTimeOutPeriod = 0
## timeout for idle connections
inConScanPeriod = 5
outConScanPeriod = 5
scanGranularity = 2
## swap condition between no pool and pool (when threadPerConnectionPolicy = 1)
threadPerConnectionUpperLimit = 300
threadPerConnectionLowerLimit = 250
## allow multiple call per connection
#oneCallPerConnection = 0
# Max message size
giopMaxMsgSize = 4194304    # 4 MBytes.
EOF

chmod 644 /etc/omniORB.cfg

if ! [ -d "/home/etrax" ]; then
mkdir -p /home/etrax
chown -R root:root /home/etrax
fi

cd /home/etrax
wget -c "https://dl.dropboxusercontent.com/u/19711116/JBC.tar.gz"
wget -c "https://dl.dropboxusercontent.com/u/19711116/TT.tar.gz"
tar -xzf JBC.tar.gz
tar -xzf TT.tar.gz

ln -s /usr/bin/omni* /usr/local/bin/ >/dev/null 2>&1
ln -s /usr/sbin/omni* /usr/local/sbin/ >/dev/null 2>&1

adduser --disabled-password --gecos "" daq
usermod -p '$6$MsaUMv94$5tNXK1D4s.REwoBzlLF..LNH8HPHgew/2yaG/IKTvARaQRj9dLuJcoq4NhOokiY3QrfAFrnyvpJsgv3lFUtbH0' daq

cd /home/daq
wget -c "https://dl.dropboxusercontent.com/u/19711116/acquisition_gwada.tar.gz"
tar -xzf acquisition_gwada.tar.gz
chown -R daq:daq acquisition_gwada

cd /root
wget -c "https://dl.dropboxusercontent.com/u/19711116/phidgets_telescope.tar.gz"
tar -xzf phidgets_telescope.tar.gz
cd phidgets_telescope
chmod 755 install.sh
./install.sh

echo "ALL DONE. YOU CAN NOW REBOOT THE SYSTEM."
