]> Creatis software - creaToolsTools.git/blob - Linux/scripts/LocalFunctions.sh
#3027 creaToolsTools Bug New Normal - Get distribution (Ubuntu) not working
[creaToolsTools.git] / Linux / scripts / LocalFunctions.sh
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 #
7 #  This software is governed by the CeCILL-B license under French law and 
8 #  abiding by the rules of distribution of free software. You can  use, 
9 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
10 #  license as circulated by CEA, CNRS and INRIA at the following URL 
11 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
12 #  or in the file LICENSE.txt.
13 #
14 #  As a counterpart to the access to the source code and  rights to copy,
15 #  modify and redistribute granted by the license, users are provided only
16 #  with a limited warranty  and the software's author,  the holder of the
17 #  economic rights,  and the successive licensors  have only  limited
18 #  liability. 
19 #
20 #  The fact that you are presently reading this means that you have had
21 #  knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------  
23
24 #!/bin/bash -e
25
26
27
28 ##########################################
29 # check that $1 is one of $2, $3, ...
30 function checkVal  {
31     local val=$1
32     shift
33     for x in $* ; do
34         if [ "$val" == "$x" ] ; then
35             echo "true"
36             return
37         fi
38     done
39     echo "false"
40 }
41
42 ###########################################
43 function bigDisplay {
44     echo " ================================================================================================"
45     echo " ================================================================================================"
46     echo " ======= $1"                                       
47     echo " ================================================================================================"
48     echo " ================================================================================================"
49 }
50
51 ###########################################
52 function checkDistrib {
53     local OS=$1
54     if [ "`checkVal $OS MacOS Fedora Ubuntu Mandriva`" == "false" ] ; then
55         echo "Operating System not supported: $OS"
56         echo "Currently supported system: Fedora Ubuntu MacOS"
57         exit 1
58     fi
59 }
60
61 ###########################################
62 function getDistrib {
63     local OS=`uname`
64
65         if [ "$OS" == Darwin ] ; then OS=MacOS;
66
67 ##EED2016-10-15    
68 ##      elif [ "$OS" == Linux  ] ; then OS=`awk 'NR==1{print $1}' /etc/system-release`
69     elif [ "$OS" == Linux  ] ; then OS=$(lsb_release -i | awk '{print $3}')
70
71     else OS=""
72     fi
73 # checkDistrib $OS
74     echo $OS
75 }
76
77 ###########################################
78 function getDistribVersion {
79     local DISTRIB=`getDistrib`
80
81       if [ "$DISTRIB" == MacOS ] ; then OSVesion=VOID_Darwin_EED;
82     elif [ "$DISTRIB" == Fedora  ] ; then OSVersion=`awk 'NR==1{print $3}' /etc/system-release`
83     elif [ "$DISTRIB" == Ubuntu  ] ; then OSVersion=`awk 'NR==1{print $2}' /etc/issue`
84     else OSVersion="VOID_EED"
85     fi
86     echo $OSVersion
87 }
88
89 ###########################################
90 function getDownloadCommand {
91     local DISTRIB=`getDistrib`
92
93       if [ "$DISTRIB" == MacOS ] ; then downloadCommand=curl;
94     elif [ "$DISTRIB" == Fedora  ] ; then downloadCommand='aria2c -x 16'
95     elif [ "$DISTRIB" == Ubuntu  ] ; then downloadCommand=wget
96     else downloadCommand="VOID_EED"
97     fi
98     echo $downloadCommand
99 }
100
101 ###########################################
102 function getncore {
103     if [ `uname` == Darwin ] ; then # MacOS
104         system_profiler | grep Processor | awk '$1=="Number" {print $4}'
105     else
106         cat /proc/cpuinfo | grep processor | wc -l
107     fi
108 }
109
110 ###########################################
111 function getbashrc {
112     if [ ! -f $HOME/.bashrc ] ; then
113         touch $HOME/.bashrc
114     fi
115     echo $HOME/.bashrc
116
117
118 #    # Do it, while we are under user, not under root! # JPR
119 #    if [ -f $HOME/.bashrc ] ; then
120 #        echo $HOME/.bashrc
121 #    else
122 #        if [ -f $HOME/.profile ] ; then
123 #            echo $HOME/.profile
124 #        else
125 #            echo "=============== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found" > /dev/stderr
126 #            echo "=============== You'd better abort the program and (try to) fix the issue" > /dec/stderr
127 #            read a # just to let the user time enough to read the message...
128 #        fi
129 #    fi
130 }
131
132
133 ###########################################
134 function printconfig {
135     echo
136     echo "Current Configuration:"
137     echo "  Operating System                           : $OperatingSystem"
138     echo "  Number of Cores                            : $corenumber"   
139     echo "  Name of the Generation Directory           : $generationdir"
140     echo "  Install Prefix for Third Party Libraries   : $installPrefixThird"   
141     echo "  Install Prefix for CreaTools               : $installPrefix"
142     echo "  Boolean for Doc Generation                 : $docgeneration"
143     echo "  Where do you want to get source files from : $sourcesFrom"
144     echo "  Login User Name                            : $loginUserName"
145     echo "  Login Group Name                           : $loginGroupName"
146     echo "  Build type                                 : $buildType"          
147     echo "  Gdcm version                               : $gdcmVersion"
148     echo "  ITK version                                : $ITKVersion"
149     echo
150 }
151
152