aboutsummaryrefslogtreecommitdiff
path: root/boca-1.5.0/tools/etc/icpc/installboca.sh
blob: 3f91729d955986a60fa11daab64f48fb2c3520b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash
di=`date +%s`
echo "==================================================="
echo "=================== obtaining BOCA  ==============="
echo "==================================================="

wget -O /tmp/.boca.tmp "http://www.ime.usp.br/~cassio/boca/boca.date.txt"
echo ">>>>>>>>>>"
echo ">>>>>>>>>> Downloading boca release `cat /tmp/.boca.tmp`"
echo ">>>>>>>>>>"

if [ "$1" == "" ]; then
wget -O /tmp/.boca.tmp "http://www.ime.usp.br/~cassio/boca/bocaver.txt"
bocaver=`cat /tmp/.boca.tmp`
else
bocaver=$1
fi
echo "Looking for BOCA version $bocaver from http://www.ime.usp.br/~cassio/boca/"
cd /var/www
rm -f boca-$bocaver.tgz
wget -O boca-$bocaver.tgz "http://www.ime.usp.br/~cassio/boca/download.php?filename=boca-$bocaver.tgz"
if [ "$?" != "0" -o ! -f boca-$bocaver.tgz ]; then
  echo "ERROR downloading BOCA package version $bocaver. Aborting *****************"
  exit 1
fi
grep -qi "bad parameters" boca-$bocaver.tgz
if [ "$?" == "0" ]; then
  echo "ERROR downloading BOCA package version $bocaver. Aborting *****************"
  exit 1
fi
echo "==========================================================="
echo "====================== BACKUPING OLD BOCA   ==============="
echo "==========================================================="
if [ -d boca-$bocaver ]; then
  mv boca-$bocaver boca-$bocaver.$di
  echo "OLD BOCA FOLDER for version $bocaver saved as boca-$bocaver.$di"
fi

echo "====================================================="
echo "=================== EXTRACTING BOCA   ==============="
echo "====================================================="

OK=x
if [ -f boca-$bocaver.$di/src/private/conf.php ]; then
 echo "OLD CONFIG FILE EXISTS"
 OK=x
 while [ "$OK" != "y" -a "$OK" != "n" ]; do
   OK=x
   read -p "Do you want to keep the old private/conf.php file [y/n] (note that the old file might be incompatible with this version)? " OK
 done
 if [ "$OK" == "n" ]; then
   echo "You probably need to update the new file boca-$bocaver/src/private/conf.php with the correct passwords - PLEASE CHECK IT - NOT DONE AUTOMATICALLY"
 fi
fi
tar xzf boca-$bocaver.tgz
chown -R www-data.www-data boca-$bocaver/
[ -f boca-$bocaver.$di/src/private/otherservers ] && cp -f boca-$bocaver.$di/src/private/otherservers boca-$bocaver/src/private/otherservers
if [ "$OK" == "y" ]; then
  cp -f boca-$bocaver.$di/src/private/conf.php boca-$bocaver/src/private/conf.php
  chown www-data.www-data boca-$bocaver/src/private/conf.php
  chmod 660 boca-$bocaver/src/private/conf.php
fi
chown root.root boca-$bocaver/src/private/autojudging.php
chmod 600 boca-$bocaver/src/private/autojudging.php
chown root.root boca-$bocaver/src/private/createdb.php
chmod 600 boca-$bocaver/src/private/createdb.php
chown root.root boca-$bocaver/tools/*.sh
chmod 700 boca-$bocaver/tools/*.sh

echo "=========================================================================================="
echo "=========== SETTING UP SOME LINKS (main apache server index.html updated)  ==============="
echo "=========================================================================================="

rm -f /var/www/boca /usr/bin/makebkp.sh
ln -s /var/www/boca-$bocaver /var/www/boca
ln -s /var/www/boca/tools/makebkp.sh /usr/bin/makebkp.sh
chmod 755 /var/www/boca/tools/makebkp.sh
chmod 755 /var/www/boca/tools/singlefilebkp.sh

echo "=============================================================="
echo "================== COMPILING safeexec utility  ==============="
echo "=============================================================="

cd /var/www/boca/tools
gcc -static -O2 -Wall safeexec.c -o safeexec
if [ $? == 0 ]; then
  echo "COMPILATION OK"
fi
strip safeexec
cp -f safeexec /usr/bin
chmod 4555 /usr/bin/safeexec

echo "=================================================="
echo "=================== SERVER SETUP   ==============="
echo "=================================================="

OK=n
echo "You can run at anytime later the script /etc/icpc/becomeserver.sh to prepare the computer to be the BOCA server"
read -p "Do you want me to call the script to make this computer the server (don't do it if this install is for a team or autojudge) [y/N]? " OK
if [ "$OK" == "y" -o "$OK" == "Y" ]; then
  OK=n
  read -p "Do you really want to make this computer the server (you don't need to do it if you are only upgrading BOCA)? [y/N]? " OK
  if [ "$OK" == "y" -o "$OK" == "Y" ]; then
  /etc/icpc/becomeserver.sh
  fi
fi