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