]> Creatis software - creaToolsTools.git/blob - Linux/scripts/CreaTools-GenerateBinTGZ.sh
#3405 vtk8itk5wx3-macos
[creaToolsTools.git] / Linux / scripts / CreaTools-GenerateBinTGZ.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
25
26 # JPR 2/5/2011
27 #if [ $UID = 0 ] 
28 #then
29   # Set all local variables
30   scriptDir=`pwd`/scripts
31 ##  cd $scriptsDir
32   source scripts/LocalFunctions.sh
33 ##  cd $scriptsDir
34   source scripts/CreaTools-configure.sh
35
36
37   if [ -e $generationdir ]
38   then
39
40 #--------Active SSH agent to the next operations---------------------------------------------------------
41         echo "Active SSH agent to copy files to the Cluster:"
42         ssh-add 
43
44
45 #--------CreaTools-Bin  for Package developers---------------------------------------------------------
46
47         echo generationdir:
48         echo $generationdir
49         cd $generationdir
50         mkdir GenerateBinTGZ
51     cd GenerateBinTGZ
52
53         ln -s $installPrefix creatools_install
54         ln -s $installPrefixThird thirdparty_install
55
56         source creatools_install/share/creatools/Version.sh 
57 #       distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.$creatoolsMinorVersion.x/
58         distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.x.x/
59         fileTGZ=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-`getDistrib`-`getDistribVersion`.tgz
60         fileTGZstring=CreaTools-Bin-Release-\$creatoolsMajorVersion.\$creatoolsMinorVersion.\$creatoolsBuildVersion-\`getDistrib\`-\`getDistribVersion\`
61         tar -cvzf $fileTGZ creatools_install/* thirdparty_install/*
62         scp $fileTGZ $distanceAdress/$fileTGZ 
63
64 #--------CreaTools-Final_User---------------------------------------------------------
65
66         creatoolsTPLaux=creatoolsTPLaux
67         rm -rf $creatoolsTPLaux
68         mkdir $creatoolsTPLaux
69         cd $creatoolsTPLaux
70         mkdir bin
71         mkdir share
72         mkdir share/creatools
73         echo "export PATH=\$PATH:\$1/bin" > share/creatools/creatools_TPLaux_config.sh
74 # MacOs
75         if [ `getDistrib` == MacOS ]  ; then 
76                 echo "export DYLD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib64" >> share/creatools/creatools_TPLaux_config.sh
77         else 
78                 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib64" >> share/creatools/creatools_TPLaux_config.sh
79         fi
80
81         cp $scriptDir/TPLaux-bashrc.sh share/creatools/TPLaux-bashrc.sh
82
83 # Fedora 31 
84         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 31 ] ; then 
85         mkdir lib64
86             cd lib64
87                 cp /usr/lib64/libwx*-3.0.so.0 .
88                 cp /usr/lib64/libboost_*.so.1.69.0 .
89                 cp /usr/lib64/libm.so.6 .
90                 cp /usr/lib64/libstdc++.so.6 .
91                 cp /usr/lib64/libSDL2-2.0.so.0 .
92                 cp /usr/lib64/libmspack.so.0 .
93                 cp /usr/lib64/libjpeg.so.62 .
94                 cp /usr/lib64/libicudata.so.63 .
95                 cp /usr/lib64/libicui18n.so.63 .
96                 cp /usr/lib64/libicuuc.so.63 .
97         fi
98
99 # Fedora 28
100         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 28 ] ; then 
101         mkdir lib64
102             cd lib64
103                 cp /usr/lib64/libwx*-3.0.so.0 .
104                 cp /usr/lib64/libboost_*.so.1.66.0 .
105                 cp /usr/lib64/libjpeg.so.62 .
106                 cp /usr/lib64/libSDL2-2.0.so.0 .
107                 cp /usr/lib64/libmspack.so.0 .
108                 cp /usr/lib64/libmspack.so.0 .
109                 cp /usr/lib64/libicudata.so.60 .
110                 cp /usr/lib64/libicui18n.so.60 . 
111                 cp /usr/lib64/libicuuc.so.60 . 
112                 ## For Fedora 32
113                 cp /usr/lib64/libGLU.so.1 . 
114         fi
115
116
117 # MacOs
118         if [ `getDistrib` == MacOS ]  ; then 
119         mkdir lib
120             cd lib
121         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_baseu-3.0.0.5.0.dylib                 . 
122         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib   .  
123         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_adv-3.0.0.5.0.dylib    .
124         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_html-3.0.0.5.0.dylib   . 
125         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_aui-3.0.0.5.0.dylib    . 
126         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_gl-3.0.0.5.0.dylib     .  
127         
128         cp /opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib           .
129         cp /opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib                   .
130         cp /opt/local/libexec/boost/1.76/lib/libboost_date_time-mt.dylib                .
131         cp /opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib                   .
132         cp /opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib                    .
133         cp /opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib  .
134         cp /opt/local/libexec/boost/1.76/lib/libboost_chrono-mt.dylib                   .
135         cp /opt/local/libexec/boost/1.76/lib/libboost_atomic-mt.dylib                   .
136         
137         cp /opt/local/lib/libjpeg.8.dylib          .
138         cp /opt/local/lib/libpng16.16.dylib        .
139         cp /opt/local/lib/libtiff.5.dylib              .
140         cp /opt/local/lib/libz.1.dylib                 .
141         cp /opt/local/lib/libzstd.1.dylib              .
142                 
143         cp /opt/local/lib/libicudata.67.dylib      .
144         cp /opt/local/lib/libicui18n.67.dylib      .
145         cp /opt/local/lib/libicuuc.67.dylib        .
146         
147         cp /opt/local/lib/libiconv.2.dylib             .
148         cp /opt/local/lib/libarchive.dylib             .
149         cp /opt/local/lib/liblzo2.2.dylib              .
150         cp /opt/local/lib/liblzma.5.dylib              .
151         cp /opt/local/lib/liblz4.1.dylib               .
152         cp /opt/local/lib/libcharset.1.dylib       .
153         cp /opt/local/lib/libbz2.1.0.dylib             .
154         cp /opt/local/lib/libxml2.2.dylib              . 
155     fi
156
157
158         cd ../..
159         fileTGZaux=$creatoolsTPLaux-`getDistrib`-`getDistribVersion`.tgz
160         rm -rf $fileTGZaux
161         tar -cvzf $fileTGZaux $creatoolsTPLaux
162         scp $fileTGZaux $distanceAdress/$fileTGZaux
163
164
165 ## EED Borrame
166 ##      fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-Fedora-28.tgz
167 ##      fileTGZauxf28=$creatoolsTPLaux-Fedora-28.tgz
168
169         fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-'$'VERFINALUSER.tgz
170         fileTGZauxf28=$creatoolsTPLaux-'$'VERFINALUSER.tgz
171
172
173         
174 #--------Script de Instalation :  creatools-Linux-Bin-x.x.x.sh   --------------------------------------------------------
175
176
177         filename_BinVersion=creatools-Linux-Bin-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh
178
179           echo "##" > $filename_BinVersion
180           echo "## Generated by CreaTools-GeneratedBinTGZ.sh" >> $filename_BinVersion
181           echo "##" >> $filename_BinVersion
182
183           cat creatools_install/share/creatools/Version.sh >> $filename_BinVersion
184           cat $scriptDir/LocalFunctions.sh >> $filename_BinVersion
185
186      echo "ETC_BASHRC=\`getbashrc\`" >>  $filename_BinVersion
187
188
189           echo "if [ \"\$1\" == \"FinalUser\" ] ; then" >> $filename_BinVersion
190           echo "   if [ \`getDistrib\` == Fedora ] ; then ">> $filename_BinVersion 
191           echo "     VERFINALUSER=Fedora-28 ">> $filename_BinVersion 
192           echo "   fi ">> $filename_BinVersion 
193           echo "   if [ \`getDistrib\` == MacOS ] ; then ">> $filename_BinVersion 
194           echo "     VERFINALUSER=MacOS-10.11.6 ">> $filename_BinVersion 
195           echo "   fi ">> $filename_BinVersion 
196           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZf28" >> $filename_BinVersion 
197           echo "   tar -xvzf $fileTGZf28" >>  $filename_BinVersion
198           echo "   rm -f $fileTGZf28" >>  $filename_BinVersion
199           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZauxf28" >> $filename_BinVersion 
200           echo "   tar -xvzf $fileTGZauxf28" >>  $filename_BinVersion
201           echo "   rm -f $fileTGZauxf28" >>  $filename_BinVersion
202       echo "   installPrefixTPLaux=\$(pwd)/creatoolsTPLaux #You need this variable in the -barshrc script" >>  $filename_BinVersion
203       echo "   source creatoolsTPLaux/share/creatools/TPLaux-bashrc.sh"  >>  $filename_BinVersion
204
205           echo "else" >> $filename_BinVersion
206           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZstring.tgz" >> $filename_BinVersion 
207           echo "   tar -xvzf $fileTGZstring.tgz" >>  $filename_BinVersion
208           echo "   rm -f $fileTGZstring.tgz" >>  $filename_BinVersion
209       echo "   OperatingSystem=\`getDistrib\`  #You need this variable in the Base-Stuff script" >>  $filename_BinVersion
210       echo "   cd thirdparty_install/share/creatools/"  >>  $filename_BinVersion
211       echo "   source ThirdParty-install-Base-Stuff.sh \$OperatingSystem"  >>  $filename_BinVersion
212       echo "   cd ../../.."  >>  $filename_BinVersion
213           echo "fi" >> $filename_BinVersion
214          
215
216 #EED     echo "source creatools_install/share/creatools/LocalFunctions.sh"  >>  $filename_BinVersion
217      echo "installPrefix=\$(pwd)/creatools_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
218      echo "installPrefixThird=\$(pwd)/thirdparty_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
219      echo "source thirdparty_install/share/creatools/ThirdParty-bashrc.sh"  >>  $filename_BinVersion
220      echo "source creatools_install/share/creatools/CreaTools-bashrc.sh"  >>  $filename_BinVersion
221      echo "echo $fileTGZstring >> Creatools-Bin-Version.txt " >>  $filename_BinVersion
222
223      echo "echo  " >>  $filename_BinVersion
224      echo "echo  " >>  $filename_BinVersion
225      echo "echo  " >>  $filename_BinVersion
226      echo "echo  " >>  $filename_BinVersion
227      echo "echo 'Open a new terminal to run creatools.'" >>  $filename_BinVersion
228      echo "echo '(Close this window and continue....)' " >>  $filename_BinVersion
229      echo "echo  " >>  $filename_BinVersion
230      echo "echo  " >>  $filename_BinVersion
231      echo "echo  Install dir:" >>  $filename_BinVersion
232      echo "pwd"    >>  $filename_BinVersion
233      echo "echo  " >>  $filename_BinVersion
234      echo "read -p 'Press [Enter] key to continue...'" >>  $filename_BinVersion
235      scp $filename_BinVersion $distanceAdress/. 
236      rm creatools_install
237      rm thirdparty_install
238
239
240 #-----------------------------------------------------------------
241
242          cat $scriptDir/Install-Creatools-Bin.sh-downloadTool $scriptDir/Install-Creatools-Bin.sh > Install-Creatools-Bin-tmp.sh
243
244      scp Install-Creatools-Bin-tmp.sh $distanceAdress/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh       
245
246          ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm Install-Creatools-Bin-Release.sh;  ln -s v4.x.x/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh  Install-Creatools-Bin-Release.sh"
247
248          ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm creatools-Linux-Bin.sh;  ln -s v4.x.x/$filename_BinVersion  creatools-Linux-Bin.sh"
249
250
251
252      echo ""
253      echo ""
254      echo ""
255      echo "Creation OK:"
256      echo $fileTGZ
257      echo ""
258      echo $PWD
259         
260   else
261    echo
262    echo "..ERROR.."
263    echo "==================================================="
264    echo "REMEMBER !"
265    echo ""
266    echo "You MUST run before:"
267    echo "   > ./instalscript config"
268    echo "   > ./instalscript 3rd"
269    echo "   > ./instalscript creatools"
270    echo "==================================================="
271    echo
272    echo 
273    read a
274    exit 0 
275   fi  
276   
277
278