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