]> Creatis software - creaToolsTools.git/blobdiff - Linux/menu.sh
*** empty log message ***
[creaToolsTools.git] / Linux / menu.sh
index ba05a03f92cfbfb46cbcbaccde998d3f2d9ad01b..83b7584eb3e4e986c4afe43be3f0d0dd0b93275b 100644 (file)
@@ -1,23 +1,10 @@
-#!/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
 
 
 i=999
-while [ $i != 9 ]
+while [ "$i" != 9 ]
 do
+   clear
    echo
    echo
    echo
@@ -25,14 +12,14 @@ 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 " Exit :...............................9"
   echo
   echo
   echo 
@@ -63,7 +50,11 @@ do
   else
      suitable="NO"
   fi
-
+  if [ "$suitable" = "YES" ]
+  then
+     source scripts/CreaTools-configure.sh
+  fi
+  
   if [ "$suitable" = "NO" ]
   then
      echo
@@ -76,7 +67,7 @@ do
                  "$OperatingSystem" != "Ubuntu" && \
                 "$OperatingSystem" != "MacOS" ]]
         do
-           echo "Operating System : Fedora/Ubuntu/MacOS (mandatory!)"
+           echo "Operating System : Fedora/Ubuntu/MacOS (default :Fedora!)"
            read OperatingSystem
         done
         echo "you said : [" $OperatingSystem "]"
@@ -95,9 +86,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
@@ -108,7 +111,7 @@ do
         echo 
         # ------------------
 
-        docgeneration="XXX"
+        docgeneration="___"
         while [[ "$docgeneration" != "YES"  && "$docgeneration" != "NO" ]]
         do
            echo "Boolean For Doc Generation : YES/NO (default is NO)"
@@ -123,7 +126,7 @@ 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)"
@@ -154,32 +157,32 @@ 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)"
@@ -194,7 +197,7 @@ do
         echo
         # ------------------
 
-        gdcmVersion="XXX"
+        gdcmVersion="___"
         while [[ "$gdcmVersion" != "GDCM1"  && "$gdcmVersion " != "GDCM2" ]]
         do
            echo "Gdcm version : GDCM1/GDCM2 (default is GDCM1)"
@@ -210,19 +213,20 @@ 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"
         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)"
@@ -237,22 +241,23 @@ 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'
@@ -261,17 +266,26 @@ do
   
   1)
      echo "========================== 1 "
+#EED_missing_this_file      source scripts/Check-if-root.sh
+     
      sh scripts/ThirdParty-install.sh
      
      vtkdirVariable=""
      while [ "$vtkdirVariable" = "" ]
      do
-        echo
-       echo " --------------------------------"
-        echo " Set VTK_DIR environment variable"
-       echo " --------------------------------"
-        echo           
-        read vtkdirVariable
+        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 "]"
 
@@ -286,12 +300,19 @@ do
      latexCompilerVariable=""
      while [ "$latexCompilerVariable" = "" ]
      do
-        echo
-       echo " ---------------------------------------"
-        echo " Set LATEX_COMPILER environment variable"
-       echo " ---------------------------------------"
-        echo           
-        read latexCompilerVariable
+        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 "]"     
 
@@ -299,6 +320,21 @@ do
      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
      
      echo "---------------------------------------------------------"
      echo OK
@@ -308,23 +344,38 @@ do
   ;;
 
   2)
-     echo "========================== 3
+     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) 
+      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     
   ;;
@@ -339,7 +390,7 @@ do
   ;;
    
   *)
-  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