]> Creatis software - creaToolsTools.git/blobdiff - Linux/menu.sh
avoid touch + rm + touch
[creaToolsTools.git] / Linux / menu.sh
index 814f980252ebf21c63f4f4ce6c3d9a1a8215d84b..b902fedfad30faab2d169ce7ef48b617f615859a 100644 (file)
@@ -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,64 +16,113 @@ do
    echo
    echo " Choose what you want to do :"
    echo  
-   echo " Configure :                     0"
-   echo " Install Third Party Libraries : 1"
-   echo " Compile   the CreaTools :       2"
-   echo " Install   the CreaTools :       3"
-   echo " Uninstall the CreaTools :       4"
+   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
-  echo
-  echo 
+   echo " Help ..............................7 Help about this menu"   
+   echo " Show some Environment Variables ...8"
+   echo " Exit :.............................9"
+   echo
+   echo
+   echo 
 
   echo "Type in your choice :"
   read i
 
   case $i in
   0)
+  clear
   suitable=XXX
-  ls -l  scripts/CreaTools-configure.sh
+  #ls -l  scripts/CreaTools-configure.sh
   if [ -f scripts/CreaTools-configure.sh ]
   then
      while [[ "$suitable" != "YES" && \
-              "$suitable" != "NO" ]]
+              "$suitable" != "yes" && \
+              "$suitable" != "Y"   && \
+              "$suitable" != "y"   && \
+              "$suitable" != "NO"  && \
+              "$suitable" != "no"  ]]
      do          
         echo "'Configure' already done : "
         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
+             if [ ! -f /etc/bashrc ]
+             then
+                echo
+                echo "You are probabely running under UBUNTU OS  ?"
+                echo "Troubles expected! (Hope NO!)"
+                echo   
+                echo "Hit any key to continue"
+                 read a
+                echo export ETC_BASHRC="/etc/bash.bashrc"
+              else
+                 echo export ETC_BASHRC="/etc/bashrc"
+              fi             
+              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
-           $suitable="YES"
+           suitable="YES"
         fi
      done
   else
-     $suitable="NO"
+     suitable="NO"
   fi
-  if [ "$suitable" = "NO" ]
+  
+  if [[ "$suitable" = "YES" || "$suitable" = "Y" || "$suitable" = "yes" || "$suitable" = "y" ]]
+  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
@@ -90,14 +130,25 @@ do
         then
            generationdir="/tmp/myGenerationDir"
         fi
-        echo "you said : [" $generationdir "]"su
+        echo "you said : [" $generationdir "]"
 
         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
@@ -108,14 +159,14 @@ do
         echo 
         # ------------------
 
-        docgeneration="XXX"
-        while [[ "$docgeneration" != "YES"  && "$docgeneration" != "NO" ]]
+        docgeneration="___"
+        while [[ "$docgeneration" != "ON"  && "$docgeneration" != "OFF" ]]
         do
-           echo "Boolean For Doc Generation : YES/NO (default is NO)"
+           echo "Boolean For Doc Generation : ON/OFF (default is OFF)"
            read docgeneration
           if [ "$docgeneration" = "" ]
           then
-             docgeneration="NO"
+             docgeneration="OFF"
           fi
           echo "you said : [" $docgeneration "]"
         done
@@ -123,14 +174,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
@@ -154,32 +205,34 @@ 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 ~/.bashrc
+           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!)"
-           read linuxGroupName  
-           echo "you said : [" $linuxGroupName "]"  
+          echo "Login Group Name (mandatory!)"
+           read loginGroupName  
+           echo "you said : [" $loginGroupName "]"  
         done
         echo
         echo
         # ------------------
 
-        buildType="XXX"
-        while [[ "$buildType" != "Release"  && "$Debug " != "HTML" ]]
+        buildType="___"
+        while [[ "$buildType" != "Release"  && "$buildType" != "Debug" ]]
         do
            echo "Build type : Release/Debug (default is Release)"
            read buildType
@@ -193,7 +246,7 @@ do
         echo
         # ------------------
 
-        gdcmVersion="XXX"
+        gdcmVersion="___"
         while [[ "$gdcmVersion" != "GDCM1"  && "$gdcmVersion " != "GDCM2" ]]
         do
            echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)"
@@ -209,23 +262,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?
@@ -236,24 +295,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/bash"                            >  $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 
@@ -261,15 +321,27 @@ do
   
   1)
      echo "========================== 1 "
-     sh scripts/ThirdParty-install.sh
+     source scripts/Check-if-root.sh
+     bash 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" = "" ]
@@ -279,54 +351,155 @@ 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
 
-     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 'bash menu.sh' as '$loginUserName', in a new window"
+        echo "---------------------------------------------------------------------"
+     else
+        echo "----------------------------------------------------------------------"
+        echo OK
+        echo "To go on, run again 'bash menu.sh'  in a new window"
+        echo "---------------------------------------------------------------------"
+     fi
+     echo
+     echo "==> Hit any key to exit close current window" 
+     read a
+     kill $PPID    
+  ;;
+
+  2)
+    
      
-     echo "------------------------------------"
-     echo OK
-     echo "To go on, run again 'sh menu.sh' as root, in a new window"
-     echo "------------------------------------"
-     exit 0             
+     echo "========================== 2" 
+     bash scripts/CreaTools-load.sh
   ;;
   
-  2)
-     echo "========================== 2"
-     sh scripts/CreaTools-compile.sh
+  3)
+     echo "========================== 3"
+     source scripts/CreaTools-configure.sh
+     bash scripts/CreaTools-compile.sh
      
      # To allow (*very* aware) user to patch code, later
-     chown -R $generationdir/creatools_source $linuxUserName
-     chgrp -R $generationdir/creatools_source $linuxGroupName
+  
+     chown -R $loginUserName $generationdir/creatools_source
+     chgrp -R $loginGroupName $generationdir/creatools_source
      # Too much time consuming
-     #chown -R $generationdir/creatools_source $linuxUserName
-     #chgrp -R $generationdir/creatools_source $linuxGroupName     
+     #chown -R $loginUserName $generationdir/creatools_source 
+     #chgrp -R $loginGroupName $generationdir/creatools_source     
   ;;
   
-  3) 
-     echo "========================= 3"
-     sh scripts/CreaTools-install.sh     
+  4) 
+      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"
+      bash scripts/CreaTools-install.sh 
+     echo
+     echo "==> Hit any key to close current window" 
+     read a
+     kill $PPID        
   ;;
  
-  4)
-     echo "========================= 4"
-     sh scripts/CreaTools-uninstall.sh
+  5)
+     echo "========================= 5"
+     bash scripts/CreaTools-uninstall.sh
+  ;;
+
+  7)
+     clear
+     echo "==================================="
+     more README.txt
+      echo
+     echo "==> Hit any key to go on" 
+     read a
   ;;
-       
+         
+  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, 9} (was $i)"
+  echo "Your answer must be in {0, 1, 2, 3, 4, 5, 9} (was [ $i ])"
   ;;
   esac