]> Creatis software - creaToolsTools.git/blob - Linux/scripts/LocalFunctions.sh
#3044 creaToolsTools Bug New Normal - Fedora 24 ThirdParty library conflict with...
[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 ##EED2016-10-15    
67 ##    elif [ "$OS" == Linux  ] ; then OS=$(lsb_release -i | awk '{print $3}')
68         elif [ "$OS" == Linux  ] ; then OS=`awk 'NR==1{print $1}' /etc/system-release`
69     else OS=""
70     fi
71 # checkDistrib $OS
72     echo $OS
73 }
74
75 ###########################################
76 function getDistribVersion {
77     local DISTRIB=`getDistrib`
78
79       if [ "$DISTRIB" == MacOS ] ; then OSVesion=VOID_Darwin_EED;
80     elif [ "$DISTRIB" == Fedora  ] ; then OSVersion=`awk 'NR==1{print $3}' /etc/system-release`
81     elif [ "$DISTRIB" == Ubuntu  ] ; then OSVersion=`awk 'NR==1{print $2}' /etc/issue`
82     else OSVersion="VOID_EED"
83     fi
84     echo $OSVersion
85 }
86
87 ###########################################
88 function getDownloadCommand {
89     local DISTRIB=`getDistrib`
90
91       if [ "$DISTRIB" == MacOS ] ; then downloadCommand=curl;
92     elif [ "$DISTRIB" == Fedora  ] ; then downloadCommand='aria2c -x 16'
93     elif [ "$DISTRIB" == Ubuntu  ] ; then downloadCommand=wget
94     else downloadCommand="VOID_EED"
95     fi
96     echo $downloadCommand
97 }
98
99 ###########################################
100 function getncore {
101     if [ `uname` == Darwin ] ; then # MacOS
102         system_profiler | grep Processor | awk '$1=="Number" {print $4}'
103     else
104         cat /proc/cpuinfo | grep processor | wc -l
105     fi
106 }
107
108 ###########################################
109 function getbashrc {
110     if [ ! -f $HOME/.bashrc ] ; then
111         touch $HOME/.bashrc
112     fi
113     echo $HOME/.bashrc
114
115
116 #    # Do it, while we are under user, not under root! # JPR
117 #    if [ -f $HOME/.bashrc ] ; then
118 #        echo $HOME/.bashrc
119 #    else
120 #        if [ -f $HOME/.profile ] ; then
121 #            echo $HOME/.profile
122 #        else
123 #            echo "=============== BIG TROUBLE : neither $HOME/.bashrc nor $HOME/.profile file found" > /dev/stderr
124 #            echo "=============== You'd better abort the program and (try to) fix the issue" > /dec/stderr
125 #            read a # just to let the user time enough to read the message...
126 #        fi
127 #    fi
128 }
129
130
131 ###########################################
132 function printconfig {
133     echo
134     echo "Current Configuration:"
135     echo "  Operating System                           : $OperatingSystem"
136     echo "  Number of Cores                            : $corenumber"   
137     echo "  Name of the Generation Directory           : $generationdir"
138     echo "  Install Prefix for Third Party Libraries   : $installPrefixThird"   
139     echo "  Install Prefix for CreaTools               : $installPrefix"
140     echo "  Boolean for Doc Generation                 : $docgeneration"
141     echo "  Where do you want to get source files from : $sourcesFrom"
142     echo "  Login User Name                            : $loginUserName"
143     echo "  Login Group Name                           : $loginGroupName"
144     echo "  Build type                                 : $buildType"          
145     echo "  Gdcm version                               : $gdcmVersion"
146     echo "  ITK version                                : $ITKVersion"
147     echo
148 }
149
150