X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Linux%2Fmenu.sh;h=725901d8527d435bc092b083e40a4feed075d7d8;hb=d41e4c024be4d3a4500f537b8a2d144e4341e3b2;hp=42ed409265852a3b842ac360d377cfbcc536e80b;hpb=7b0db0dbe32c0a17297f497ca34bc4a6aa550061;p=creaToolsTools.git diff --git a/Linux/menu.sh b/Linux/menu.sh index 42ed409..725901d 100644 --- a/Linux/menu.sh +++ b/Linux/menu.sh @@ -1,23 +1,14 @@ -#!/bin/sh - -if [ $UID != 0 ] -then - echo - echo "..ERROR.." - echo "===================================================" - echo "REMEMBER !" - echo "" - echo "YOU NEED TO RUN THIS ONE AS root" - echo "===================================================" - echo - echo - exit 0 -fi +#!/bin/bash -e + if [ -f scripts/CreaTools-configure.sh ] + then + source scripts/CreaTools-configure.sh + fi i=999 -while [ $i != 9 ] +while [ "$i" != 9 ] do + clear echo echo echo @@ -25,14 +16,15 @@ do echo echo " Choose what you want to do :" echo - echo " Configure : 0" - echo " Install Third Party Libraries : 1" - echo " Get the 'CreaTools' source files : 2" - echo " Compile the CreaTools : 3" - echo " Install the CreaTools : 4" - echo " Uninstall the CreaTools : 5" + echo " Configure :........................0 " + echo " Install Third Party Libraries :....1 (as root)" + echo " Get the 'CreaTools' source files :.2 (CVS : as user!)" + echo " Compile the CreaTools :..........3 " + echo " Install the CreaTools :..........4 (as root)" + echo " Uninstall the CreaTools :..........5 (as root)" echo - echo " Exit : 9" + echo " Show some Environment Variables ...8" + echo " Exit :.............................9" echo echo echo @@ -42,6 +34,7 @@ do case $i in 0) + clear suitable=XXX #ls -l scripts/CreaTools-configure.sh if [ -f scripts/CreaTools-configure.sh ] @@ -53,7 +46,23 @@ do echo "------------------------" more scripts/CreaTools-configure.sh echo "------------------------" - echo "Are the following values suitable for you : YES/NO? (default is YES)" + + # WARNING : $installPrefixThird is taken from CreaTools-configure.sh + # if user configured without installing third party library, + # Last third party library is still in use! JPR + if [ ! -f $installPrefixThird/share/creatools_third_party_library_config.sh ] + then + echo WARNING + echo + echo "the curently used Third Party libraries are NOT in $installPrefixThird but in :" + grep "installPrefixThird=" /etc/bashrc + echo "VTK_DIR :...." $VTK_DIR + echo "ITK_DIR :...." $ITK_DIR + echo "GDCM_DIR :..." $GDCM_DIR + echo "(Have a look at /etc/bashrc, edit it or run again Install Third Party Libraries if you disagree)" + fi + echo + echo "Are these values suitable for you : YES/NO? (default is YES)" read suitable if [ "$suitable" = "" ] then @@ -63,27 +72,44 @@ do else suitable="NO" fi - - if [ "$suitable" = "NO" ] + + if [ "$suitable" = "YES" ] + then + source scripts/CreaTools-configure.sh + fi + +# if [ "$suitable" = "NO" || "$suitable" = "N" || "$suitable" = "no" || "$suitable" = "n" ] + if [ "$suitable" = "NO" ] then + + + + + echo echo confirm="NO" while [ "$confirm" != "YES" ] do + + OperatingSystem="XXX" while [[ "$OperatingSystem" != "Fedora" && \ "$OperatingSystem" != "Ubuntu" && \ + "$OperatingSystem" != "MacOS" ]] do - echo "Operating System : Fedora/Ubuntu/MacOS (mandatory!)" + echo "Operating System : Fedora/Ubuntu/MacOS (default :Fedora!)" read OperatingSystem + if [ "$OperatingSystem" = "" ] + then + OperatingSystem="Fedora" + fi done echo "you said : [" $OperatingSystem "]" echo echo - # ------------------ echo "Name of the Generation Directory (default is /tmp/myGenerationDir)" read generationdir @@ -96,9 +122,21 @@ do echo echo # ------------------ + installPrefixThird="___" + echo "Install Prefix For Third Party Library : '$generationdir/thirdparty_install' / '/usr/local' (default is '$generationdir/thirdparty_install')" + read installPrefixThird + if [ "$installPrefixThird" = "" ] + then + installPrefixThird="$generationdir/thirdparty_install" + fi + echo "you said : [" $installPrefixThird "]" + echo + echo + # ------------------ - installPrefix="XXX" - echo "Install Prefix : '$generationdir/creatools_install' / '/usr/local' (default is '$generationdir/creatools_install')" + + installPrefix="___" + echo "Install Prefix for CreaTools : '$generationdir/creatools_install' / '/usr/local' (default is '$generationdir/creatools_install')" read installPrefix if [ "$installPrefix" = "" ] then @@ -109,7 +147,7 @@ do echo # ------------------ - docgeneration="XXX" + docgeneration="___" while [[ "$docgeneration" != "YES" && "$docgeneration" != "NO" ]] do echo "Boolean For Doc Generation : YES/NO (default is NO)" @@ -124,14 +162,14 @@ do echo # ------------------ - sourcesFrom="XXX" + sourcesFrom="___" while [[ "$sourcesFrom" != "CVS" && "$sourcesFrom" != "HTML" ]] do - echo "Where do you want to get source files from : CVS/HTML (default is HTML)" + echo "Where do you want to get source files from : CVS/HTML (default is CVS)" read sourcesFrom if [ "$sourcesFrom" = "" ] then - sourcesFrom="HTML" + sourcesFrom="CVS" fi echo "you said : [" $sourcesFrom "]" done @@ -155,32 +193,33 @@ do echo # ------------------ - linuxUserName="" - while [ "$linuxUserName" == "" ] + + loginUserName="" + while [ "$loginUserName" == "" ] do echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'" ls -l menu.sh echo "Login User Name (mandatory!)" - read linuxUserName - echo "you said : [" $linuxUserName "]" + read loginUserName + echo "you said : [" $loginUserName "]" done echo echo - linuxGroupName="" - while [ "$linuxGroupName" == "" ] + loginGroupName="" + while [ "$loginGroupName" == "" ] do #echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'" #echo "Login Group Name (mandatory!)" echo "Login Group Name (mandatory!)" - read linuxGroupName - echo "you said : [" $linuxGroupName "]" + read loginGroupName + echo "you said : [" $loginGroupName "]" done echo echo # ------------------ - buildType="XXX" + buildType="___" while [[ "$buildType" != "Release" && "$Debug " != "HTML" ]] do echo "Build type : Release/Debug (default is Release)" @@ -195,7 +234,7 @@ do echo # ------------------ - gdcmVersion="XXX" + gdcmVersion="___" while [[ "$gdcmVersion" != "GDCM1" && "$gdcmVersion " != "GDCM2" ]] do echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)" @@ -211,23 +250,29 @@ do echo echo echo "You said :" - echo " Operating System : $OperatingSystem" - echo " Name of the Generation Directory : $generationdir" - echo " Install Prefix : $installPrefix" - echo " Boolean for Doc Generation : $docgeneration" - echo " Where do you want to get source files from : $sourcesFrom" + echo " Operating System : $OperatingSystem" + echo " Name of the Generation Directory : $generationdir" + echo " Install Prefix for Third Party Libraries : $installPrefixThird" + echo " Install Prefix for CreaTools : $installPrefix" + echo " Boolean for Doc Generation : $docgeneration" + echo " Where do you want to get source files from : $sourcesFrom" if [ $sourcesFrom = CVS ] then - echo " CVS User Name : $cvsUserName" + echo " CVS User Name : $cvsUserName" fi - echo " Login User Name : $linuxUserName" - echo " Login Group Name : $linuxGroupName" - echo " Build type : $buildType" - echo " Gdcm version : $gdcmVersion" + echo " Login User Name : $loginUserName" + echo " Login Group Name : $loginGroupName" + echo " Build type : $buildType" + echo " Gdcm version : $gdcmVersion" echo echo - echo "Do you confirm your choices : YES/NO ? (default is NO)" + + echo "Do you confirm your choices : YES/NO ? (default is YES)" read confirm + if [ "$confirm" = "" ] + then + confirm=YES + fi done # GROS SOUCIS : Ou generer le fichier CreaTools-configure.sh? @@ -238,24 +283,25 @@ do configureFile="scripts/CreaTools-configure.sh" touch $configureFile - echo "#!/bin/sh" > $configureFile - echo >> $configureFile - echo "#File generated by 'menu.sh'" >> $configureFile - echo "#DO NOT edit !" >> $configureFile - echo "#(except if you *know* what you do)">> $configureFile - echo >> $configureFile - echo "OperatingSystem=$OperatingSystem" >> $configureFile - echo "generationdir=$generationdir" >> $configureFile - echo "installPrefix=$installPrefix" >> $configureFile - echo "docgeneration=$docgeneration" >> $configureFile - echo "sourcesFrom=$sourcesFrom" >> $configureFile - echo "cvsUserName=$cvsUserName" >> $configureFile - echo "loginUserName=$linuxUserName" >> $configureFile - echo "loginGroupName=$linuxGroupName" >> $configureFile - echo "buildType=$buildType" >> $configureFile - echo "gdcmVersion=$gdcmVersion" >> $configureFile + echo "#!/bin/sh" > $configureFile + echo >> $configureFile + echo "#File generated by 'menu.sh'" >> $configureFile + echo "#DO NOT edit !" >> $configureFile + echo "#(except if you *know* what you do)" >> $configureFile + echo >> $configureFile + echo "OperatingSystem=$OperatingSystem" >> $configureFile + echo "generationdir=$generationdir" >> $configureFile + echo "installPrefix=$installPrefix" >> $configureFile + echo "installPrefixThird=$installPrefixThird" >> $configureFile + echo "docgeneration=$docgeneration" >> $configureFile + echo "sourcesFrom=$sourcesFrom" >> $configureFile + echo "cvsUserName=$cvsUserName" >> $configureFile + echo "loginUserName=$loginUserName" >> $configureFile + echo "loginGroupName=$loginGroupName" >> $configureFile + echo "buildType=$buildType" >> $configureFile + echo "gdcmVersion=$gdcmVersion" >> $configureFile + - # ------------------ # endif 'suitable' fi @@ -263,15 +309,27 @@ do 1) echo "========================== 1 " + source scripts/Check-if-root.sh sh scripts/ThirdParty-install.sh - vtkdirVariable="" - while [ "$vtkdirVariable" = "" ] - do - echo " Set VTK_DIR environment variable" - read vtkdirVariable - done - echo "you said [" $vtkdirVariable "]" +# vtkdirVariable="" +# while [ "$vtkdirVariable" = "" ] +# do +# while [ ! -e "$vtkdirVariable" ] +# do +# echo +# echo " --------------------------------" +# echo " Set VTK_DIR environment variable" +# echo " --------------------------------" +# echo +# # #read vtkdirVariable +# if [ ! -e "$vtkdirVariable" ] +# then +# # echo $vtkdirVariable is NOT a valid directory +# fi +# done +# done +# echo "you said [" $vtkdirVariable "]" #vtkdirVariable="" #while [ "$vtkdirVariable" = "" ] @@ -281,62 +339,142 @@ do #done #echo "you said [" $vtkdirVariable "]" - latexCompilerVariable="" - while [ "$latexCompilerVariable" = "" ] - do - echo " Set LATEX_COMPILER environment variable" - read latexCompilerVariable - done - echo "you said [" $latexCompilerVariable "]" +# latexCompilerVariable="" +# while [ "$latexCompilerVariable" = "" ] +# do +# while [ ! -f "$latexCompilerVariable" ] +# do +# echo +# # echo " ---------------------------------------" +# echo " Set LATEX_COMPILER environment variable" +# # echo " ---------------------------------------" +# echo +# read latexCompilerVariable +# if [ ! -e "$latexCompilerVariable" ] +# then +# echo $latexCompilerVariable is NOT a valid file +# fi +# # done +# done +# echo "you said [" $latexCompilerVariable "]" - sed -i -e '/.*VTK_DIR*/ d' /etc/bashrc - sed -i -e '/.*LATEX_COMPILER*/ d' /etc/bashrc - echo "export VTK_DIR=$vtkdirVariable" >> /etc/bashrc - echo "export LATEX_COMPILER=$latexCompilerVariable" >> /etc/bashrc - - echo "------------------------------------" - echo OK - echo "To go on, run again 'sh menu.sh' as root, in a new window" - echo "------------------------------------" - exit 0 +# sed -i -e '/.*VTK_DIR*/ d' /etc/bashrc +# sed -i -e '/.*LATEX_COMPILER*/ d' /etc/bashrc +# echo "export VTK_DIR=$vtkdirVariable" >> /etc/bashrc +# echo "export LATEX_COMPILER=$latexCompilerVariable" >> /etc/bashrc + + if [ "$sourcesFrom" = "CVS" ] + then + echo "----------------------------------------------------------------------" + echo OK + echo "To go on, run again 'sh menu.sh' as '$loginUserName', in a new window" + echo "---------------------------------------------------------------------" + exit 0 + else + echo "----------------------------------------------------------------------" + echo OK + echo "To go on, run again 'sh menu.sh' in a new window" + echo "---------------------------------------------------------------------" + exit 0 + fi + ;; 2) - echo "========================== 3" - sh scripts/CreaTools-load.sh - + + + echo "========================== 2" + sh scripts/CreaTools-load.sh ;; - - 3) echo "========================== 3" + source scripts/CreaTools-configure.sh sh scripts/CreaTools-compile.sh # To allow (*very* aware) user to patch code, later - chown -R $linuxUserName $generationdir/creatools_source - chgrp -R $linuxGroupName $generationdir/creatools_source + + chown -R $loginUserName $generationdir/creatools_source + chgrp -R $loginGroupName $generationdir/creatools_source # Too much time consuming - #chown -R $linuxUserName $generationdir/creatools_source - #chgrp -R $linuxGroupName $generationdir/creatools_source + #chown -R $loginUserName $generationdir/creatools_source + #chgrp -R $loginGroupName $generationdir/creatools_source ;; 4) - echo "========================= 4" - sh scripts/CreaTools-install.sh + if [ $UID != 0 ] + then + echo + echo "..ERROR.." + echo "===================================================" + echo "REMEMBER !" + echo "" + echo "YOU NEED TO RUN THIS ONE AS root" + echo "===================================================" + echo + echo + exit 0 + fi + echo "========================= 4" + sh scripts/CreaTools-install.sh ;; 5) echo "========================= 5" sh scripts/CreaTools-uninstall.sh ;; - + + 8) + clear + + echo "===================================" + + # WARNING : $installPrefixThird is taken from CreaTools-configure.sh + # if user configured without installing third party library, + # Last third party library is still in use! JPR + + + if [ ! -f $installPrefixThird/share/creatools_third_party_library_config.sh ] + then + echo WARNING + echo + echo "the curently used Third Party libraries are NOT in $installPrefixThird but in :" + grep "installPrefixThird=" /etc/bashrc + echo "VTK_DIR :...." $VTK_DIR + echo "ITK_DIR :...." $ITK_DIR + echo "GDCM_DIR :..." $GDCM_DIR + fi + + if [ -f $installPrefixThird/share/creatools_third_party_library_config.sh ] + then + echo $installPrefixThird/share/creatools_third_party_library_config.sh + echo ------ + more $installPrefixThird/share/creatools_third_party_library_config.sh + echo ------ + fi + + echo + + if [ -f $installPrefix/share/creatools_base_library_config.sh ] + then + echo $installPrefix/share/creatools_base_library_config.sh + echo ------ + more $installPrefix/share/creatools_base_library_config.sh + echo ------ + fi + echo "===================================" + echo + echo "Press any key to continue" + read a + ;; + 9) - echo exit + echo + exit 0 ;; *) - echo "Your answer must be in {0, 1, 2, 3, 4, 5, 9} (was $i)" + echo "Your answer must be in {0, 1, 2, 3, 4, 5, 9} (was [ $i ])" ;; esac