]> Creatis software - creaToolsTools.git/blob - Linux/menu.sh
4b5539bbdbba45f41ad7eacc3db513273c7c7e2a
[creaToolsTools.git] / Linux / menu.sh
1 #!/bin/bash -e
2
3
4 i=999
5 while [ "$i" != 9 ]
6 do
7    clear
8    echo
9    echo
10    echo
11    echo "                MENU"
12    echo
13    echo " Choose what you want to do :"
14    echo  
15    echo " Configure :..........................0 "
16    echo " Install Third Party Libraries :......1 (as root)"
17    echo " Get the 'CreaTools' source files :...2 (CVS : as user!)" 
18    echo " Compile   the CreaTools :............3 "
19    echo " Install   the CreaTools :............4 (as root)"
20    echo " Uninstall the CreaTools :............5 (as root)"
21    echo
22    echo " Exit :...............................9"
23   echo
24   echo
25   echo 
26
27   echo "Type in your choice :"
28   read i
29
30   case $i in
31   0)
32   suitable=XXX
33   #ls -l  scripts/CreaTools-configure.sh
34   if [ -f scripts/CreaTools-configure.sh ]
35   then
36      while [[ "$suitable" != "YES" && \
37               "$suitable" != "NO" ]]
38      do   
39         echo "'Configure' already done : "
40         echo "------------------------"
41         more scripts/CreaTools-configure.sh
42         echo "------------------------"
43         echo "Are the following values suitable for you : YES/NO? (default is YES)"
44         read suitable
45         if [ "$suitable" = "" ]
46         then
47            suitable="YES"
48         fi
49      done
50   else
51      suitable="NO"
52   fi
53   
54   if [ "$suitable" = "YES" ]
55   then
56      source scripts/CreaTools-configure.sh
57   fi
58   
59 #  if [ "$suitable" = "NO" || "$suitable" = "N"  || "$suitable" = "no" || "$suitable" = "n" ]
60  if [ "$suitable" = "NO" ]
61   then
62   
63   
64
65         
66         
67      echo
68      echo
69      confirm="NO"
70      while [ "$confirm" != "YES" ]
71      do
72      
73      
74         OperatingSystem="XXX"
75         while [[ "$OperatingSystem" != "Fedora" && \
76                  "$OperatingSystem" != "Ubuntu" && \
77
78                  "$OperatingSystem" != "MacOS" ]]
79         do
80            echo "Operating System : Fedora/Ubuntu/MacOS (default :Fedora!)"
81            read OperatingSystem
82            if [ "$OperatingSystem" = "" ]
83            then
84              OperatingSystem="Fedora"
85            fi  
86         done
87         echo "you said : [" $OperatingSystem "]"
88         echo
89         echo
90
91         # ------------------
92         echo "Name of the Generation Directory (default is /tmp/myGenerationDir)"
93         read generationdir
94         if [ "$generationdir" = "" ]
95         then
96            generationdir="/tmp/myGenerationDir"
97         fi
98         echo "you said : [" $generationdir "]"
99
100         echo
101         echo
102         # ------------------
103         installPrefixThird="___"
104         echo "Install Prefix For Third Party Library : '$generationdir/thirdparty_install' / '/usr/local' (default is '$generationdir/thirdparty_install')"
105         read installPrefixThird
106         if [ "$installPrefixThird" = "" ]
107         then
108            installPrefixThird="$generationdir/thirdparty_install"
109         fi
110         echo "you said : [" $installPrefixThird "]"
111         echo
112         echo 
113         # ------------------
114
115
116         installPrefix="___"
117         echo "Install Prefix for CreaTools : '$generationdir/creatools_install' / '/usr/local' (default is '$generationdir/creatools_install')"
118         read installPrefix
119         if [ "$installPrefix" = "" ]
120         then
121            installPrefix="$generationdir/creatools_install"
122         fi
123         echo "you said : [" $installPrefix "]"
124         echo
125         echo 
126         # ------------------
127
128         docgeneration="___"
129         while [[ "$docgeneration" != "YES"  && "$docgeneration" != "NO" ]]
130         do
131            echo "Boolean For Doc Generation : YES/NO (default is NO)"
132            read docgeneration
133           if [ "$docgeneration" = "" ]
134           then
135              docgeneration="NO"
136           fi
137           echo "you said : [" $docgeneration "]"
138         done
139         echo
140         echo
141         # ------------------
142
143         sourcesFrom="___"
144         while [[ "$sourcesFrom" != "CVS"  && "$sourcesFrom" != "HTML" ]]
145         do
146            echo "Where do you want to get source files from : CVS/HTML (default is CVS)"
147            read sourcesFrom
148            if [ "$sourcesFrom" = "" ]
149            then
150               sourcesFrom="CVS"
151            fi
152            echo "you said : [" $sourcesFrom "]"
153         done
154         echo
155         echo
156         # ------------------
157
158         cvsUserName=""
159         if [ "$sourcesFrom" = "CVS" ]
160         then
161            while [ "$cvsUserName" == "" ]
162            do
163               echo "CVS User Name (mandatory!)"
164               read cvsUserName
165            done
166            echo "you said : [" $cvsUserName "]"
167         else
168            cvsUserName="ForgetThisOne" 
169         fi
170         echo
171         echo
172         # ------------------
173
174
175         loginUserName=""
176         while [ "$loginUserName" == "" ]
177         do 
178            echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'"
179            ls -l menu.sh
180            echo "Login User Name (mandatory!)"
181            read loginUserName  
182            echo "you said : [" $loginUserName "]"  
183         done
184         echo
185         echo
186
187         loginGroupName=""
188         while [ "$loginGroupName" == "" ]
189         do
190             #echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'"
191             #echo "Login Group Name (mandatory!)"
192            echo "Login Group Name (mandatory!)"
193            read loginGroupName  
194            echo "you said : [" $loginGroupName "]"  
195         done
196         echo
197         echo
198         # ------------------
199
200         buildType="___"
201         while [[ "$buildType" != "Release"  && "$Debug " != "HTML" ]]
202         do
203            echo "Build type : Release/Debug (default is Release)"
204            read buildType
205            if [ "$buildType" = "" ]
206            then
207               buildType="Release"
208            fi
209            echo "you said : [" $buildType "]"
210         done
211         echo
212         echo
213         # ------------------
214
215         gdcmVersion="___"
216         while [[ "$gdcmVersion" != "GDCM1"  && "$gdcmVersion " != "GDCM2" ]]
217         do
218            echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)"
219            read gdcmVersion
220            if [ "$gdcmVersion" = "" ]
221            then
222               gdcmVersion="GDCM1"
223            fi
224            echo "you said : [" $gdcmVersion "]"
225         done
226         echo
227         echo
228         echo
229         echo
230         echo "You said :"
231         echo "  Operating System                           : $OperatingSystem"
232         echo "  Name of the Generation Directory           : $generationdir"
233         echo "  Install Prefix for Third Party Libraries   : $installPrefixThird"       
234         echo "  Install Prefix for CreaTools               : $installPrefix"
235         echo "  Boolean for Doc Generation                 : $docgeneration"
236         echo "  Where do you want to get source files from : $sourcesFrom"
237         if [ $sourcesFrom = CVS ]
238         then
239            echo " CVS User Name                              : $cvsUserName"
240         fi
241         echo "  Login User Name                            : $loginUserName"
242         echo "  Login Group Name                           : $loginGroupName"
243         echo "  Build type                                 : $buildType"          
244         echo "  Gdcm version                               : $gdcmVersion"
245         echo
246         echo
247         echo "Do you confirm your choices : YES/NO ? (default is YES)"
248         read confirm
249         if [ "$confirm" = "" ]
250         then
251            confirm=YES
252         fi
253    done
254
255  # GROS SOUCIS : Ou generer le fichier CreaTools-configure.sh?
256  # dans $generationdir/creatools_bin ?
257  # -> il n'est pas encore cree !
258  # dans ./Linux/scripts?
259  # -> ? 
260
261    configureFile="scripts/CreaTools-configure.sh"
262    touch  $configureFile
263    echo "#!/bin/sh"                              >  $configureFile
264    echo                                          >> $configureFile
265    echo "#File generated by 'menu.sh'"           >> $configureFile
266    echo "#DO NOT edit !"                         >> $configureFile
267    echo "#(except if you *know* what you do)"    >> $configureFile
268    echo                                          >> $configureFile
269    echo "OperatingSystem=$OperatingSystem"       >> $configureFile
270    echo "generationdir=$generationdir"           >> $configureFile
271    echo "installPrefix=$installPrefix"           >> $configureFile
272    echo "installPrefixThird=$installPrefixThird" >> $configureFile
273    echo "docgeneration=$docgeneration"           >> $configureFile
274    echo "sourcesFrom=$sourcesFrom"               >> $configureFile
275    echo "cvsUserName=$cvsUserName"               >> $configureFile 
276    echo "loginUserName=$loginUserName"           >> $configureFile
277    echo "loginGroupName=$loginGroupName"         >> $configureFile
278    echo "buildType=$buildType"                   >> $configureFile
279    echo "gdcmVersion=$gdcmVersion"               >> $configureFile
280
281   # ------------------      
282   # endif 'suitable'
283   fi 
284   ;;
285   
286   1)
287      echo "========================== 1 "
288      source scripts/Check-if-root.sh
289      sh scripts/ThirdParty-install.sh
290      
291 #      vtkdirVariable=""
292 #      while [ "$vtkdirVariable" = "" ]
293 #      do
294 #         while [ ! -e "$vtkdirVariable" ]
295 #         do
296 #            echo
297 #          echo " --------------------------------"
298 #            echo " Set VTK_DIR environment variable"
299 #          echo " --------------------------------"
300 #            echo               
301 # #            #read vtkdirVariable
302 #          if [  ! -e "$vtkdirVariable" ]
303 #          then
304 # #           echo $vtkdirVariable is NOT a valid directory
305 #          fi
306 #         done
307 #      done
308 #      echo "you said [" $vtkdirVariable "]"
309
310      #vtkdirVariable=""
311      #while [ "$vtkdirVariable" = "" ]
312      #do
313      #   echo " Set VTK_DIR environment variable"
314       #  read vtkdirVariable
315      #done
316      #echo "you said [" $vtkdirVariable "]"
317           
318 #      latexCompilerVariable=""
319 #      while [ "$latexCompilerVariable" = "" ]
320 #      do
321 #         while [ ! -f "$latexCompilerVariable" ]
322 #         do 
323 #          echo
324 # #        echo " ---------------------------------------"
325 #            echo " Set LATEX_COMPILER environment variable"
326 # #        echo " ---------------------------------------"
327 #            echo               
328 #            read latexCompilerVariable
329 #          if [  ! -e "$latexCompilerVariable" ]
330 #          then
331 #             echo $latexCompilerVariable is NOT a valid file
332 #          fi
333 # #     done
334 #      done
335 #      echo "you said [" $latexCompilerVariable "]"     
336
337 #     sed -i -e '/.*VTK_DIR*/ d'        /etc/bashrc
338 #     sed -i -e '/.*LATEX_COMPILER*/ d' /etc/bashrc 
339 #     echo "export VTK_DIR=$vtkdirVariable" >> /etc/bashrc
340 #     echo "export LATEX_COMPILER=$latexCompilerVariable" >> /etc/bashrc
341
342      if [ "$sourcesFrom" = "CVS" ]
343      then
344         echo "----------------------------------------------------------------------"
345         echo OK
346         echo "To go on, run again 'sh menu.sh' as '$loginUserName', in a new window"
347         echo "---------------------------------------------------------------------"
348         exit 0
349      else
350         echo "----------------------------------------------------------------------"
351         echo OK
352         echo "To go on, run again 'sh menu.sh'  in a new window"
353         echo "---------------------------------------------------------------------"
354         exit 0    
355      fi 
356        
357   ;;
358
359   2)
360     
361      
362      echo "========================== 2" 
363      sh scripts/CreaTools-load.sh
364   ;;
365   
366   3)
367      echo "========================== 3"
368      source scripts/CreaTools-configure.sh
369      sh scripts/CreaTools-compile.sh
370      
371      # To allow (*very* aware) user to patch code, later
372   
373      chown -R $loginUserName $generationdir/creatools_source
374      chgrp -R $loginGroupName $generationdir/creatools_source
375      # Too much time consuming
376      #chown -R $loginUserName $generationdir/creatools_source 
377      #chgrp -R $loginGroupName $generationdir/creatools_source     
378   ;;
379   
380   4) 
381       if [ $UID != 0 ] 
382       then
383          echo
384          echo "..ERROR.."
385          echo "==================================================="
386          echo "REMEMBER !"
387          echo ""
388          echo "YOU NEED TO RUN THIS ONE AS root"
389          echo "==================================================="
390          echo
391          echo
392          exit 0
393 fi
394      echo "========================= 4"
395      sh scripts/CreaTools-install.sh     
396   ;;
397  
398   5)
399      echo "========================= 5"
400      sh scripts/CreaTools-uninstall.sh
401   ;;
402        
403   9) 
404   echo exit
405   ;;
406    
407   *)
408   echo "Your answer must be in {0, 1, 2, 3, 4, 5, 9} (was [ $i ])"
409   ;;
410   esac
411
412 done
413