X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Linux%2Fmenu.sh;h=2d1dbd41cf0fbd967acc5e962cba35349f982502;hb=92e2861847038124e273a60c80c9a85a821e9a55;hp=2e2c1246dcf99e2d5cbaa309ca64f692657024f2;hpb=adb25e58b9a8004e5f2a56449f724a75bcabe33b;p=creaToolsTools.git diff --git a/Linux/menu.sh b/Linux/menu.sh index 2e2c124..2d1dbd4 100644 --- a/Linux/menu.sh +++ b/Linux/menu.sh @@ -1,3 +1,27 @@ +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ + + #!/bin/bash -e if [ -f scripts/CreaTools-configure.sh ] @@ -15,34 +39,41 @@ do echo echo " MENU" echo + echo " This MENU is deprecated." + echo " Please use installscipt instead." + echo echo " Choose what you want to do :" echo echo " Configure :........................0" if [ $expanded = "YES" ] then - echo " Get and Compile gdcm :.. ......1.1" - echo " Get and Compile itk :.. .......1.2" - echo " Get and Compile vtk :.. .......1.3" + echo " Install all base stuff :..........1.0" + echo " (cmake, doxygen, graphviz, ...)" + echo " Get, Compile, Install vtk .......1.1" + echo " Get, Compile, Install gdcm :.. . .1.2" + echo " Get, Compile, Install itk :.......1.3" + echo " Get, Compile, Install Wx (for Mac Users) :…....1.4" + else echo " Install Third Party Libraries :....1 (as root)" fi if [ $expanded = "YES" ] then - echo " Get the 'CreaTools' source files :.2.1 (CVS : as user!)" - echo " Compile the CreaTools :..........2.2" -# Install creatools as user (no longer as root) // JPR 2/5/2011 - echo " Install the CreaTools :..........2.3" + echo " Get the 'CreaTools' source files :.2.1 (GIT : as user!)" + echo " Compile the CreaTools :..........2.2" + # Install creatools as user (no longer as root) // JPR 2/5/2011 + echo " Install the CreaTools :..........2.3" else - echo " Get and Install the 'CreaTools':...2" + echo " Get and Install the 'CreaTools':...2" fi echo if [ $expanded = "NO" ] then - echo " Use Expanded menu :................5 " + echo " Use Expanded menu :................5 " else - echo " Use compact menu :.................5 " + echo " Use compact menu :.................5 " fi echo " Uninstall the CreaTools :..........6 " echo " Help ..............................7 Help about this menu" @@ -57,6 +88,22 @@ do case $i in 0) + + # Do it, while we are under user, not under root! # JPR + if [ -f $HOME/.bashrc ] + then + export ETC_BASHRC=$HOME/.bashrc + else + if [ -f $HOME/.profile ] + then + export ETC_BASHRC=$HOME/.profile + else + echo "======================== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found" + echo "======================== You'd better to abort the program and (try to) fix the issue" + read a # just to let the user time enough to read the message... + fi + fi + clear suitable=XXX #ls -l scripts/CreaTools-configure.sh @@ -69,35 +116,24 @@ do "$suitable" != "NO" && \ "$suitable" != "no" ]] do - echo "'Configure' already done : " + echo "'Configure' already done; Content of scripts/CreaTools-configure.sh :" echo "------------------------" more scripts/CreaTools-configure.sh 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 - + # 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 -# Install creatools as user (no longer as root) // JPR 2/5/2011 - #if [ ! -f /etc/bashrc ] - #then - # export ETC_BASHRC="/etc/bash.bashrc" - #else - # export ETC_BASHRC="/etc/bashrc" - #fi - export ETC_BASHRC=$HOME/.bashrc - 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)" + echo WARNING + 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)" @@ -110,7 +146,7 @@ do else suitable="NO" fi - + if [[ "$suitable" = "YES" || "$suitable" = "Y" || "$suitable" = "yes" || "$suitable" = "y" ]] then source scripts/CreaTools-configure.sh @@ -151,14 +187,15 @@ do echo "you said : [" $corenumber "]" echo - echo - + echo + + racine=$HOME/myDefaultCreatoolsGenerationDir # ------------------ - echo "Name of the Generation Directory (default is ~/creaToolsGenerationDir)" + echo "Name of the Generation Directory (default is $racine)" read generationdir if [ "$generationdir" = "" ] then - generationdir="~/creaToolsGenerationDir" + generationdir=$racine fi echo "you said : [" $generationdir "]" @@ -196,27 +233,28 @@ then do echo "Boolean For Doc Generation : ON/OFF (default is OFF)" read docgeneration - if [ "$docgeneration" = "" ] - then - docgeneration="OFF" - fi - echo "you said : [" $docgeneration "]" + if [ "$docgeneration" = "" ] + then + docgeneration="OFF" + fi + echo "you said : [" $docgeneration "]" done echo echo fi + docgeneration="OFF" # ------------------ sourcesFrom="___" - while [[ "$sourcesFrom" != "CVS" && "$sourcesFrom" != "HTML" ]] + while [[ "$sourcesFrom" != "GIT" && "$sourcesFrom" != "HTML" ]] do - echo "Where do you want to get source files from : CVS/HTML ( CVS : for registered CREATIS users only! )" + echo "Where do you want to get source files from : GIT/HTML ( GIT : for registered CREATIS users only! )" read sourcesFrom if [ "$sourcesFrom" = "" ] then - sourcesFrom="CVS" + sourcesFrom="GIT" fi echo "you said : [" $sourcesFrom "]" done @@ -224,41 +262,41 @@ docgeneration="OFF" echo # ------------------ - cvsUserName="" - if [ "$sourcesFrom" = "CVS" ] + gitUserName="" + if [ "$sourcesFrom" = "GIT" ] then - while [ "$cvsUserName" == "" ] + while [ "$gitUserName" == "" ] do - echo "CVS User Name ( registered CREATIS user : mandatory!)" - read cvsUserName + echo "GIT User Name ( registered CREATIS user : mandatory!)" + read gitUserName done - echo "you said : [" $cvsUserName "]" + echo "you said : [" $gitUserName "]" else - cvsUserName="ForgetThisOne" + gitUserName="ForgetThisOne" fi echo echo # ------------------ - loginUserName="" - while [ "$loginUserName" == "" ] - do + #loginUserName="" + loginUserName=$USER + #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 loginUserName - echo "you said : [" $loginUserName "]" - done + # echo "Login User Name (mandatory!)" + # read loginUserName + # echo "you said : [" $loginUserName "]" + #done echo echo 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!)" + echo "Have a look at the following line to know 'Login User Name'/'Login Group Name'" + echo "Login Group Name (mandatory!)" read loginGroupName echo "you said : [" $loginGroupName "]" done @@ -282,7 +320,7 @@ docgeneration="OFF" # ------------------ gdcmVersion="___" - while [[ "$gdcmVersion" != "GDCM1" && "$gdcmVersion " != "GDCM2" ]] + while [[ "$gdcmVersion" != "GDCM1" && "$gdcmVersion" != "GDCM2" ]] do echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)" read gdcmVersion @@ -292,6 +330,20 @@ docgeneration="OFF" fi echo "you said : [" $gdcmVersion "]" done + +# NOT YET CHECKED ! JPR + ITKVersion="___" + while [[ "$ITKVersion" != "ITK3" && "$ITKVersion" != "ITK4" ]] + do + echo "ITK version : ITK3/ITK4 (default is ITK3)" + read ITKVersion + if [ "$ITKVersion" = "" ] + then + ITKVersion="ITK3" + fi + echo "you said : [" $ITKVersion "]" + done + echo echo echo @@ -304,14 +356,15 @@ docgeneration="OFF" 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 ] + if [ $sourcesFrom = GIT ] then - echo " CVS User Name : $cvsUserName" + echo " GIT User Name : $gitUserName" fi echo " Login User Name : $loginUserName" echo " Login Group Name : $loginGroupName" echo " Build type : $buildType" echo " Gdcm version : $gdcmVersion" + echo " ITK version : $ITKVersion" echo echo @@ -323,11 +376,7 @@ docgeneration="OFF" fi done - # GROS SOUCIS : Ou generer le fichier CreaTools-configure.sh? - # dans $generationdir/creatools_bin ? - # -> il n'est pas encore cree ! - # dans ./Linux/scripts? - # ==> On le genere chez l'utilisateur (no choice!)... + # ==> On genere le fichier CreaTools-configure.sh genere chez l'utilisateur (no choice!)... # configureFile="scripts/CreaTools-configure.sh" @@ -345,12 +394,14 @@ docgeneration="OFF" echo "installPrefixThird=$installPrefixThird" >> $configureFile echo "docgeneration=$docgeneration" >> $configureFile echo "sourcesFrom=$sourcesFrom" >> $configureFile - echo "cvsUserName=$cvsUserName" >> $configureFile + echo "gitUserName=$gitUserName" >> $configureFile echo "loginUserName=$loginUserName" >> $configureFile echo "loginGroupName=$loginGroupName" >> $configureFile echo "buildType=$buildType" >> $configureFile echo "gdcmVersion=$gdcmVersion" >> $configureFile - + echo "ITKVersion=$ITKVersion" >> $configureFile + echo "ETC_BASHRC=$ETC_BASHRC" >> $configureFile + # ------------------ # endif 'suitable' fi @@ -359,44 +410,67 @@ docgeneration="OFF" 1) echo "========================== 1 " source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-Base-Stuff.sh + bash scripts/ThirdParty-install-VTK.sh + bash scripts/ThirdParty-install-gdcm.sh + bash scripts/ThirdParty-install-ITK.sh bash scripts/ThirdParty-install.sh + bash scripts/ThirdParty-install-Finalize.sh - if [ "$sourcesFrom" = "CVS" ] + if [ "$sourcesFrom" = "GIT" ] then echo "----------------------------------------------------------------------" echo OK echo "To go on, run again 'bash menu.sh' as '$loginUserName', in a new window" - echo "---------------------------------------------------------------------" + echo "----------------------------------------------------------------------" else echo "----------------------------------------------------------------------" echo OK echo "To go on, run again 'bash menu.sh' in a new window" - echo "---------------------------------------------------------------------" + echo "----------------------------------------------------------------------" fi echo + echo "==>" echo "==> You HAVE to leave current window to continue!" + echo "==>" + source $ETC_BASHRC read a - kill $PPID ;; - + + 1.0) + echo "========================== 1.0 " + source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-Base-Stuff.sh + bash scripts/ThirdParty-install-Finalize.sh + ;; + 1.1) echo "========================== 1.1 " - source scripts/Check-if-root.sh - bash scripts/ThirdParty-install-gdcm.sh + #source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-VTK.sh + bash scripts/ThirdParty-install-Finalize.sh ;; - + 1.2) echo "========================== 1.2 " - echo "sorry, not yet available" - read a + #source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-gdcm.sh + bash scripts/ThirdParty-install-Finalize.sh ;; - + 1.3) echo "========================== 1.3 " - echo "sorry, not yet available" + #source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-ITK.sh + bash scripts/ThirdParty-install-Finalize.sh + ;; + 1.4) + echo "========================== 1.4 " + #source scripts/Check-if-root.sh + bash scripts/ThirdParty-install-WX.sh + bash scripts/ThirdParty-install-Finalize.sh read a - - ;; + ;; 2) #2.1 @@ -406,9 +480,12 @@ docgeneration="OFF" bash scripts/CreaTools-compile.sh #2.3 bash scripts/CreaTools-install.sh - echo "You HAVE to leave current window to continue!" + echo "==>" + echo "==> You HAVE to leave current window to continue!" + echo "==>" + source $ETC_BASHRC read a - kill $PPID + kill -9 $PPID ;; 2.1) @@ -434,27 +511,10 @@ docgeneration="OFF" else chown -R $loginUserName $generationdir/creatools_source chgrp -R $loginGroupName $generationdir/creatools_source - # Too much time consuming - #chown -R $loginUserName $generationdir/creatools_source - #chgrp -R $loginGroupName $generationdir/creatools_source fi ;; - - 2.3) -# 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 + 2.3) echo "========================= 4" @@ -466,9 +526,9 @@ docgeneration="OFF" # else # echo "==> Hit any key to close current window" # fi + source $ETC_BASHRC ;; - 5) if [ $expanded = "NO" ] then @@ -477,7 +537,7 @@ docgeneration="OFF" expanded="NO" fi ;; - + 6) echo "========================= 5" bash scripts/CreaTools-uninstall.sh @@ -500,8 +560,8 @@ docgeneration="OFF" 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 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 ] @@ -509,7 +569,7 @@ docgeneration="OFF" echo WARNING echo echo "the curently used Third Party libraries are NOT in $installPrefixThird but in :" - grep "installPrefixThird=" /etc/bashrc + grep "installPrefixThird=" $ETC_BASHRC echo "VTK_DIR : " $VTK_DIR echo "ITK_DIR : " $ITK_DIR echo "GDCM_DIR : " $GDCM_DIR @@ -520,9 +580,9 @@ docgeneration="OFF" if [ -f $installPrefixThird/share/creatools_third_party_library_config.sh ] then echo "Third party config file : " $installPrefixThird/share/creatools_third_party_library_config.sh - echo ------ - more $installPrefixThird/share/creatools_third_party_library_config.sh - echo ------ + echo ------ + more $installPrefixThird/share/creatools_third_party_library_config.sh + echo ------ fi echo @@ -530,17 +590,17 @@ docgeneration="OFF" if [ -f $installPrefix/share/creatools_base_library_config.sh ] then echo "Creatools base library config file : " $installPrefix/share/creatools_base_library_config.sh - echo ------ - more $installPrefix/share/creatools_base_library_config.sh - echo ------ - echo + echo ------ + more $installPrefix/share/creatools_base_library_config.sh + echo ------ + echo echo "installPrefix ... " $installPrefix - fi + fi echo ------ echo "VTK_DIR : " $VTK_DIR echo "ITK_DIR : " $ITK_DIR echo "GDCM_DIR : " $GDCM_DIR - echo + echo echo "crea_DIR : " $crea_DIR echo "BBTK_DIR : " $BBTK_DIR echo "creaMaracasVisu_DIR : " $creaMaracasVisu_DIR @@ -582,3 +642,4 @@ docgeneration="OFF" done +