Blame view

install.sh 9.05 KB
e6be5137b   Jean-François Rey   reinitialized pro...
1
2
3
  #!/bin/bash
  
  #-------------------#
665a8dac3   Jean-François Rey   ! follow the whit...
4
  # OTMEDIA LIA       #
e6be5137b   Jean-François Rey   reinitialized pro...
5
  # Install script    #
5a14b8678   Jean-François Rey   update doc
6
  # version : 1.1.0   #
e6be5137b   Jean-François Rey   reinitialized pro...
7
  #-------------------#
5a14b8678   Jean-François Rey   update doc
8
  # nyx login name
05a45b590   Jean-François Rey   update install sc...
9
  username=${LOGNAME}
e6be5137b   Jean-François Rey   reinitialized pro...
10
  # Color variables
c00c2f189   Jean-François Rey   up
11
  txtred=$(tput setaf 1) # red
e6be5137b   Jean-François Rey   reinitialized pro...
12
13
14
  txtgrn=$(tput setaf 2) # Green
  txtylw=$(tput setaf 3) # Yellow
  txtblu=$(tput setaf 4) # Blue
c00c2f189   Jean-François Rey   up
15
  txtred=$(tput setaf 5) # Purple
e6be5137b   Jean-François Rey   reinitialized pro...
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  txtcyn=$(tput setaf 6) # Cyan
  txtwht=$(tput setaf 7) # White
  txtrst=$(tput sgr0) # Text reset.
  #/color
  
  #
  ### Global Variables
  #
  PWD=$(pwd)
  OTMEDIA_HOME=$PWD
  test=$(arch)
  if [ "$test" == "x86_64" ]; then ARCH=".64"; else ARCH=""; fi
  #/Global
  
  
  #
  # Put to 0 to disable dependencies of a pass
  # and 1 to enable
  #
  PASS1=1     # First Pass 
665a8dac3   Jean-François Rey   ! follow the whit...
36
  PASS2=1     # Second and Third Pass
e6be5137b   Jean-François Rey   reinitialized pro...
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  CONFPASS=1  # Confidence Pass
  EXPLOITCONFPASS=1   # SOLR query and trigg
  
  echo -e "
  Will do install for :"
  if [ $PASS1 -eq 1 ];then echo "- Pass 1";fi
  if [ $PASS2 -eq 1 ];then echo "- Pass 2";fi
  if [ $CONFPASS -eq 1 ];then echo "- Confidence Pass";fi
  if [ $EXPLOITCONFPASS -eq 1 ];then echo "- Exploit Confidence Pass";fi
  
  #
  ### CHECK Dependencies ###
  #
  echo -e "
  \t${txtblu}Check Dependencies${txtrst}
  "
  
  ## make
  test=$(whereis make)
  if [ "$test" == "make:" ]
  then
c00c2f189   Jean-François Rey   up
58
59
60
      echo -e "${txtred}ERROR${txtrst} make not found
   You have to install make
   sudo apt-get install make"
e6be5137b   Jean-François Rey   reinitialized pro...
61
62
63
64
65
66
67
68
      exit 1;
  fi
  echo -e "make \t ${txtgrn}OK${txtrst}"
  
  ## CC
  test=$(whereis cc)
  if [ "$test" == "cc:" ]
  then
c00c2f189   Jean-François Rey   up
69
70
71
      echo -e "${txtred}ERROR${txtrst} cc not found
   You have to install cc
   sudo apt-get install gcc"
e6be5137b   Jean-François Rey   reinitialized pro...
72
73
74
75
76
77
78
79
      exit 1;
  fi
  echo -e "cc \t ${txtgrn}OK${txtrst}"
  
  ## AVCONV
  test=$(whereis avconv)
  if [ "$test" == "avconv:" ]
  then
c00c2f189   Jean-François Rey   up
80
81
82
      echo -e "${txtred}ERROR${txtrst} avconv not found
   You have to install avconv
   sudo apt-get install libav-tools"
e6be5137b   Jean-François Rey   reinitialized pro...
83
84
85
86
87
88
89
90
      exit 1;
  fi
  echo -e "libav-tools : avconv \t ${txtgrn}OK${txtrst}"
  
  ## JAVA
  test=$(whereis java)
  if [ "$test" == "java:" ]
  then
c00c2f189   Jean-François Rey   up
91
92
93
      echo -e "${txtred}ERROR${txtrst} java not found
   You have to install java JRE
   sudo apt-get install openjdk-7-jre"
e6be5137b   Jean-François Rey   reinitialized pro...
94
95
96
97
98
99
      exit 1;
  fi
  echo -e "Java : JRE \t ${txtgrn}OK${txtrst}"
  test=$(whereis javac)
  if [ "$test" == "javac:" ]
  then
c00c2f189   Jean-François Rey   up
100
101
102
      echo -e "${txtred}ERROR${txtrst} javac not found
   You have to install java JDK
   sudo apt-get install openjdk-7-jdk"
e6be5137b   Jean-François Rey   reinitialized pro...
103
104
105
106
107
108
109
110
111
112
      exit 1;
  fi
  echo -e "Java : JDK \t ${txtgrn}OK${txtrst}"
  
  if [ $EXPLOITCONFPASS -eq 1 ]
  then
      ## Python
      test=$(whereis python)
      if [ "$test" == "python:" ]
      then
c00c2f189   Jean-François Rey   up
113
114
115
          echo -e "${txtred}ERROR${txtrst} python not found
   You have to install python
   sudo apt-get install python"
e6be5137b   Jean-François Rey   reinitialized pro...
116
117
118
          exit 1;
      fi
      echo -e "python : \t ${txtgrn}OK${txtrst}"
665a8dac3   Jean-François Rey   ! follow the whit...
119
120
121
122
123
      
      ## csh shell
      test=$(whereis csh)
      if [ "$test" == "csh:" ]
      then
c00c2f189   Jean-François Rey   up
124
125
126
          echo -e "${txtred}ERROR${txtrst} csh shell not found
   You have to install csh shell
   sudo apt-get install csh"
665a8dac3   Jean-François Rey   ! follow the whit...
127
128
129
          exit 1;
      fi
      echo -e "csh shell : \t ${txtgrn}OK${txtrst}"
e6be5137b   Jean-François Rey   reinitialized pro...
130
131
132
133
134
135
  fi
  
  ## Perl
  test=$(whereis perl)
  if [ "$test" == "perl:" ]
  then
c00c2f189   Jean-François Rey   up
136
137
138
      echo -e "${txtred}ERROR${txtrst} perl not found
   You have to install perl
   sudo apt-get install perl"
e6be5137b   Jean-François Rey   reinitialized pro...
139
140
141
142
143
144
145
146
      exit 1;
  fi
  echo -e "perl : \t ${txtgrn}OK${txtrst}"
  
  ## iconv
  test=$(whereis iconv)
  if [ "$test" == "iconv:" ]
  then
c00c2f189   Jean-François Rey   up
147
148
149
      echo -e "${txtred}ERROR${txtrst} iconv not found
   You have to install iconv
   sudo apt-cache search iconv"
e6be5137b   Jean-François Rey   reinitialized pro...
150
151
152
      exit 1;
  fi
  echo -e "iconv : \t ${txtgrn}OK${txtrst}"
e6be5137b   Jean-François Rey   reinitialized pro...
153
154
155
  ## SRI LM
  if [ -z "$SRILM" ] && [ -z "$MACHINE_TYPE" ]
  then
c00c2f189   Jean-François Rey   up
156
157
158
      echo -e "${txtred}ERROR${txtrst} SRILM toolkit variables are not defined (SRILM and MACHINE_TYPE)
   You have to install SRILM Toolkit
  "
e6be5137b   Jean-François Rey   reinitialized pro...
159
160
161
162
      exit 1;
  fi
  export SRILM_BIN=$SRILM/bin/$MACHINE_TYPE
  echo -e "SRILM toolkit : \t ${txtgrn}OK${txtrst}"
e6be5137b   Jean-François Rey   reinitialized pro...
163
  ### Speeral Configuration ### 
d93dab09a   Jean-François Rey   update
164

b3f8a55c6   Jean-François Rey   :D
165
166
167
  echo -e "
  \t${txtblu}Speeral configuration${txtrst}
  "
5a14b8678   Jean-François Rey   update doc
168
169
170
171
172
173
  read -e -p "Download Speeral bin and data ? (y/n) " speeral
  if [ "$speeral" == "y" ]
  then
      echo -e "Download Speeral bin and data :"
      scp -r ${username}@nyx:/local/OTMEDIA/OTMEDIA_DATA/Speeral $OTMEDIA_HOME/tools/
  fi
d93dab09a   Jean-François Rey   update
174
175
176
  echo -e "
  \t${txtblu}Generating Speeral configuration files :${txtrst}
  "
e6be5137b   Jean-François Rey   reinitialized pro...
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
  cat $PWD/tools/Speeral/CFG/SpeeralFirstPass.xml.tmp | sed -e "s|<nom>[^<]*</nom>|<nom>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer</nom>|g" \
      | sed -e "s|<ngramme>[^<]*</ngramme>|<ngramme>$PWD/tools/Speeral/LM/ML_4gOTMEDIA_LEXIQUE_V6</ngramme>|g" \
      | sed -e "s|<binode>[^<]*</binode>|<binode>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer.bin</binode>|g" \
      > $PWD/tools/Speeral/CFG/SpeeralFirstPass.xml
  echo $PWD/tools/Speeral/CFG/SpeeralFirstPass.xml
  cat $PWD/tools/Speeral/CFG/SpeeralSecondPass.xml.tmp | sed -e "s|<nom>[^<]*</nom>|<nom>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer</nom>|g" \
      | sed -e "s|<ngramme>[^<]*</ngramme>|<ngramme>$PWD/tools/Speeral/LM/ML_4gOTMEDIA_LEXIQUE_V6</ngramme>|g" \
      | sed -e "s|<binode>[^<]*</binode>|<binode>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer.bin</binode>|g" \
      > $PWD/tools/Speeral/CFG/SpeeralSecondPass.xml
  echo $PWD/tools/Speeral/CFG/SpeeralSecondPass.xml
  cat $PWD/tools/Speeral/CFG/SpeeralThirdPass.xml.tmp | sed -e "s|<nom>[^<]*</nom>|<nom>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer</nom>|g" \
      | sed -e "s|<ngramme>[^<]*</ngramme>|<ngramme>$PWD/tools/Speeral/LM/ML_4gOTMEDIA_LEXIQUE_V6</ngramme>|g" \
      | sed -e "s|<binode>[^<]*</binode>|<binode>$PWD/tools/Speeral/LEX/LEXIQUE_V6.speer.bin</binode>|g" \
      > $PWD/tools/Speeral/CFG/SpeeralThirdPass.xml
  echo $PWD/tools/Speeral/CFG/SpeeralThirdPass.xml
  
  
  if [ $EXPLOITCONFPASS -eq 1 ]
  then
      ### LIA ltbox ###
      echo -e "\t${txtblu}Install lia_ltbox${txtrst}
  "
      export LIA_TAGG_LANG="french"
      export LIA_TAGG="$OTMEDIA_HOME/tools/lia_ltbox/lia_tagg/"
      export LIA_PHON_REP="$OTMEDIA_HOME/tools/lia_ltbox/lia_phon/"
      export LIA_BIGLEX="$OTMEDIA_HOME/tools/lia_ltbox/lia_biglex/"
  
      ### config lia_phon
      cd $LIA_PHON_REP
      make all > /dev/null
      make ressource > /dev/null
      ### config lia_tagg
      cd $LIA_TAGG
      make all > /dev/null
      make ressource.french > /dev/null
      ### config lia_biglex
      cd $LIA_BIGLEX
      make -f makefile.biglex > /dev/null
      cd $OTMEDIA_HOME
  
  
      ### SOLR DB ###
      # Tomcat fisrtly
      test=$(dpkg -l | grep "^ii" | grep tomcat)
      if [ "$test" == "" ]
      then
c00c2f189   Jean-François Rey   up
223
224
225
          echo -e "${txtred}ERROR${txtrst} TOMCAT seems to not be installed)
   You have to install TOMCAT
  "
665a8dac3   Jean-François Rey   ! follow the whit...
226
          #exit 1;
e6be5137b   Jean-François Rey   reinitialized pro...
227
      fi
d93dab09a   Jean-François Rey   update
228
229
230
      echo -e "
  TOMCAT : \t ${txtgrn}OK${txtrst}
  "
e6be5137b   Jean-François Rey   reinitialized pro...
231
      # SOLR secondly
4a412bdf3   Jean-François Rey   update
232
233
      echo -e "\t${txtblu}Install SOLR DB${txtrst}
  "
1e7751e7c   Jean-François Rey   :D :D
234
      echo -e "You will need 300 Go of free space to install SOLR DB"
4a412bdf3   Jean-François Rey   update
235
      read -p "Continue ? (y/n) " solr
b50ebdf38   Jean-François Rey   update install.sh
236
237
238
239
240
      if [ "$solr" == "y" ]
      then
  
          echo -e "Download SOLR DB\r"
          mkdir -p $OTMEDIA_HOME/tools/SOLR 2> /dev/null
5a14b8678   Jean-François Rey   update doc
241
          scp -r ${username}@nyx:/local/OTMEDIA/OTMEDIA_DATA/SOLR/otmedia-2013-04.tar.gz $OTMEDIA_HOME/tools/SOLR
b50ebdf38   Jean-François Rey   update install.sh
242
          echo -e "Unzip SOLR DB\r"
d93dab09a   Jean-François Rey   update
243
          res=0
b50ebdf38   Jean-François Rey   update install.sh
244
          #res = $(tar -xvzf "$OTMEDIA_HOME/tools/SOLR/otmedia-2013-04.tar.gz" "$OTMEDIA_HOME/tools/SOLR/")
c00c2f189   Jean-François Rey   up
245
          if [ $res -eq 2 ]; then echo " ${txtred}NOT OK${txtrst}";
b50ebdf38   Jean-François Rey   update install.sh
246
          else echo " ${txtgrn}OK${txtrst}"; fi
d93dab09a   Jean-François Rey   update
247
248
249
250
251
      else
          echo "Skipping SOLR install"
      fi
      read -e -p "Configure SOLR DB server ? (y/n) " solr
      if [ "$solr" == "y" ]
b3f8a55c6   Jean-François Rey   :D
252
      then
b50ebdf38   Jean-François Rey   update install.sh
253
          read -p "Enter SOLR server IP :" ip
1e7751e7c   Jean-François Rey   :D :D
254
          if [ "${ip}" == "" ];then ip="localhost";fi
4a412bdf3   Jean-François Rey   update
255
          echo "machine = \"${ip}\"" > $OTMEDIA_HOME/tools/scripts/solrinfo.py
b50ebdf38   Jean-François Rey   update install.sh
256
          read -p "Enter SOLR server port :" port
d93dab09a   Jean-François Rey   update
257
258
259
260
          if [ "${port}" == "" ]; then port="8080";fi
          echo -e "
  \tSOLR server IP ${ip}"
          echo -e "\tSOLR server port ${port}"
4a412bdf3   Jean-François Rey   update
261
          echo "port = \"${port}\"" >> $OTMEDIA_HOME/tools/scripts/solrinfo.py
b50ebdf38   Jean-François Rey   update install.sh
262
      else
d93dab09a   Jean-François Rey   update
263
          echo "Skipping SOLR DB Configuration"
b50ebdf38   Jean-François Rey   update install.sh
264
      fi
4a412bdf3   Jean-François Rey   update
265
266
267
      echo -e "
  See SOLR.INSTALL file for more information
  "
e6be5137b   Jean-François Rey   reinitialized pro...
268
269
270
271
272
273
274
275
  fi
  
  ### Set Variables in bashrc ###
  cat ~/.bashrc | grep -v "OTMEDIA_HOME" | grep -v "SRILM_BIN" > ~/.bashrc.org
  #cat ~/.bashrc | grep -v "OTMEDIA_HOME" | grep -v "SRILM_BIN" | grep -v "LIA_TAGG" | grep -v "LIA_PHON" | grep -v "LIA_BIGLEX" > ~/.bashrc.org
  cp ~/.bashrc.org ~/.bashrc
  export OTMEDIA_HOME=$PWD
  echo "export OTMEDIA_HOME=$PWD" >> ~/.bashrc
665a8dac3   Jean-François Rey   ! follow the whit...
276
  echo "export $PATH=$PATH:$PWD/main_tools" >> ~/.bashrc
e6be5137b   Jean-François Rey   reinitialized pro...
277
278
279
280
281
282
283
284
285
286
287
288
289
  echo "export SRILM_BIN=$SRILM/bin/$MACHINE_TYPE" >> ~/.bashrc
  #echo "export LIA_TAGG_LANG=french" >> ~/.bashrc
  #echo "export LIA_TAGG=$OTMEDIA_HOME/tools/lia_ltbox/lia_tagg/" >> ~/.bashrc
  #echo "export LIA_PHON_REP=$OTMEDIA_HOME/tools/lia_ltbox/lia_phon/" >> ~/.bashrc
  #echo "export LIA_BIGLEX=$OTMEDIA_HOME/tools/lia_ltbox/lia_biglex/" >> ~/.bashrc
  
  # set global configuration file 
  echo "OTMEDIA_HOME=$PWD" > $OTMEDIA_HOME/cfg/main_cfg.cfg
  echo "ARCH=$ARCH" >> $OTMEDIA_HOME/cfg/main_cfg.cfg
  echo "VERBOSE=0" >> $OTMEDIA_HOME/cfg/main_cfg.cfg
  echo "DEBUG=0" >> $OTMEDIA_HOME/cfg/main_cfg.cfg
  echo "CHECK=0" >> $OTMEDIA_HOME/cfg/main_cfg.cfg
  echo "RERUN=0" >> $OTMEDIA_HOME/cfg/main_cfg.cfg
4a412bdf3   Jean-François Rey   update
290
291
292
  echo -e "
  \t${txtgrn}### Install completed ###${txtrst}
  "
e6be5137b   Jean-François Rey   reinitialized pro...
293
294
295
296
  echo -e "do : source ~/.bashrc"
  echo -e "or set variable :
  "
  echo "export OTMEDIA_HOME=$PWD"
05a45b590   Jean-François Rey   update install sc...
297
  echo "export PATH=\$PATH:$OTMEDIA_HOME/main_tools"
e6be5137b   Jean-François Rey   reinitialized pro...
298
  echo "export SRILM_BIN=$SRILM/bin/$MACHINE_TYPE"
665a8dac3   Jean-François Rey   ! follow the whit...
299

5a14b8678   Jean-François Rey   update doc
300
  echo "${txtwht}             \\\\ "
665a8dac3   Jean-François Rey   ! follow the whit...
301
302
  echo "        ,-~~~-\\\\_"
  echo "       (        .\ "
5a14b8678   Jean-François Rey   update doc
303
  echo "       @\___(__--'${txtrst}"
665a8dac3   Jean-François Rey   ! follow the whit...
304

c00c2f189   Jean-François Rey   up
305
  echo "${txtgrn}Yes${txtylw}I${txtred}Rastafari${txtrst}"