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