]> Creatis software - creaToolsTools.git/blob - Linux/scripts/CreaTools-GenerateBinTGZ.sh
Clean code
[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
57 echo
58 cmd='ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;  mkdir v5.x.x"'
59 echo $(eval "echo $cmd")
60 $(eval $cmd)
61
62         source creatools_install/share/creatools/Version.sh 
63 #       distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.$creatoolsMinorVersion.x/
64         distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.x.x/
65         fileTGZ=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-`getDistrib`-`getDistribVersion`.tgz
66         fileTGZstring=CreaTools-Bin-Release-\$creatoolsMajorVersion.\$creatoolsMinorVersion.\$creatoolsBuildVersion-\`getDistrib\`-\`getDistribVersion\`
67         tar -cvzf $fileTGZ creatools_install/* thirdparty_install/*
68         scp $fileTGZ $distanceAdress/$fileTGZ 
69
70 #--------CreaTools-Final_User---------------------------------------------------------
71
72         creatoolsTPLaux=creatoolsTPLaux
73         rm -rf $creatoolsTPLaux
74         mkdir $creatoolsTPLaux
75         cd $creatoolsTPLaux
76         mkdir bin
77         mkdir share
78         mkdir share/creatools
79         echo "export PATH=\$PATH:\$1/bin" > share/creatools/creatools_TPLaux_config.sh
80 # MacOs
81         if [ `getDistrib` == MacOS ]  ; then 
82                 echo "export DYLD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib" >> share/creatools/creatools_TPLaux_config.sh
83         else 
84                 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib64" >> share/creatools/creatools_TPLaux_config.sh
85         fi
86
87         cp $scriptDir/TPLaux-bashrc.sh share/creatools/TPLaux-bashrc.sh
88
89 # Fedora 31 
90         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 31 ] ; then 
91         mkdir lib64
92             cd lib64
93                 cp /usr/lib64/libwx*-3.0.so.0 .
94                 cp /usr/lib64/libboost_*.so.1.69.0 .
95                 cp /usr/lib64/libm.so.6 .
96                 cp /usr/lib64/libstdc++.so.6 .
97                 cp /usr/lib64/libSDL2-2.0.so.0 .
98                 cp /usr/lib64/libmspack.so.0 .
99                 cp /usr/lib64/libjpeg.so.62 .
100                 cp /usr/lib64/libicudata.so.63 .
101                 cp /usr/lib64/libicui18n.so.63 .
102                 cp /usr/lib64/libicuuc.so.63 .
103         fi
104
105 # Fedora 30
106         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 30 ] ; then 
107         mkdir lib64
108             cd lib64
109                 cp /usr/lib64/libwx*-3.0.so.0 .
110                 cp /usr/lib64/libboost_*.so.1.69.0 .
111                 cp /usr/lib64/libm.so.6 .
112                 cp /usr/lib64/libstdc++.so.6 .
113                 cp /usr/lib64/libSDL2-2.0.so.0 .
114                 cp /usr/lib64/libmspack.so.0 .
115                 cp /usr/lib64/libjpeg.so.62 .
116                 cp /usr/lib64/libicudata.so.63 .
117                 cp /usr/lib64/libicui18n.so.63 .
118                 cp /usr/lib64/libicuuc.so.63 .
119         fi
120
121 # Fedora 28
122         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 28 ] ; then 
123         mkdir lib64
124             cd lib64
125                 cp /usr/lib64/libwx*-3.0.so.0 .
126                 cp /usr/lib64/libboost_*.so.1.66.0 .
127                 cp /usr/lib64/libjpeg.so.62 .
128                 cp /usr/lib64/libSDL2-2.0.so.0 .
129                 cp /usr/lib64/libmspack.so.0 .
130                 cp /usr/lib64/libmspack.so.0 .
131                 cp /usr/lib64/libicudata.so.60 .
132                 cp /usr/lib64/libicui18n.so.60 . 
133                 cp /usr/lib64/libicuuc.so.60 . 
134                 ## For Fedora 32
135                 cp /usr/lib64/libGLU.so.1 . 
136         fi
137
138
139 # MacOs
140         if [ `getDistrib` == MacOS ]  ; then 
141         mkdir lib
142             cd lib
143         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_baseu-3.0.0.5.0.dylib                 . 
144         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib   .  
145         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_adv-3.0.0.5.0.dylib    .
146         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_html-3.0.0.5.0.dylib   . 
147         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_aui-3.0.0.5.0.dylib    . 
148         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_gl-3.0.0.5.0.dylib     .  
149         
150         cp /opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib           .
151         cp /opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib                   .
152         cp /opt/local/libexec/boost/1.76/lib/libboost_date_time-mt.dylib                .
153         cp /opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib                   .
154         cp /opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib                    .
155         cp /opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib  .
156         cp /opt/local/libexec/boost/1.76/lib/libboost_chrono-mt.dylib                   .
157         cp /opt/local/libexec/boost/1.76/lib/libboost_atomic-mt.dylib                   .
158         
159         cp /opt/local/lib/libjpeg.8.dylib          .
160         cp /opt/local/lib/libpng16.16.dylib        .
161         cp /opt/local/lib/libtiff.6.dylib              .
162         cp /opt/local/lib/libLerc.4.dylib                      .
163         cp /opt/local/lib/libz.1.dylib                 .
164         cp /opt/local/lib/libzstd.1.dylib              .
165                 
166         cp /opt/local/lib/libicudata.72.dylib      .
167         cp /opt/local/lib/libicui18n.72.dylib      .
168         cp /opt/local/lib/libicuuc.72.dylib        .
169
170                 mkdir opt
171         cp /opt/local/lib/libiconv.2.dylib             opt/.
172         cp /opt/local/lib/liblzo2.2.dylib              .
173         cp /opt/local/lib/liblz4.1.dylib               .
174 #        cp /opt/local/lib/libarchive.dylib            .
175  #       cp /opt/local/lib/liblzma.5.dylib             .
176   #      cp /opt/local/lib/libcharset.1.dylib      .
177  #       cp /opt/local/lib/libbz2.1.0.dylib            .
178    #     cp /opt/local/lib/libxml2.2.dylib             . 
179         cp /opt/local/lib/libomp/libomp.dylib    . 
180     fi
181
182
183         cd ../..
184         fileTGZaux=$creatoolsTPLaux-`getDistrib`-`getDistribVersion`.tgz
185         rm -rf $fileTGZaux
186         tar -cvzf $fileTGZaux $creatoolsTPLaux
187         scp $fileTGZaux $distanceAdress/$fileTGZaux
188
189
190 ## EED Borrame
191 ##      fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-Fedora-28.tgz
192 ##      fileTGZauxf28=$creatoolsTPLaux-Fedora-28.tgz
193
194         fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-'$'VERFINALUSER.tgz
195         fileTGZauxf28=$creatoolsTPLaux-'$'VERFINALUSER.tgz
196
197
198         
199 #--------Script de Instalation :  creatools-Linux-Bin-x.x.x.sh   --------------------------------------------------------
200
201
202         filename_BinVersion=creatools-Linux-Bin-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh
203
204           echo "##" > $filename_BinVersion
205           echo "## Generated by CreaTools-GeneratedBinTGZ.sh" >> $filename_BinVersion
206           echo "##" >> $filename_BinVersion
207
208           cat creatools_install/share/creatools/Version.sh >> $filename_BinVersion
209           cat $scriptDir/LocalFunctions.sh >> $filename_BinVersion
210
211      echo "ETC_BASHRC=\`getbashrc\`" >>  $filename_BinVersion
212
213
214           echo "if [ \"\$1\" == \"FinalUser\" ] ; then" >> $filename_BinVersion
215           echo "   if [ \`getDistrib\` == Fedora ] ; then ">> $filename_BinVersion 
216           echo "     VERFINALUSER=Fedora-30 ">> $filename_BinVersion 
217           echo "   fi ">> $filename_BinVersion 
218           echo "   if [ \`getDistrib\` == MacOS ] ; then ">> $filename_BinVersion 
219           echo "     VERFINALUSER=MacOS-10.11.6 ">> $filename_BinVersion 
220           echo "   fi ">> $filename_BinVersion 
221           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZf28" >> $filename_BinVersion 
222           echo "   tar -xvzf $fileTGZf28" >>  $filename_BinVersion
223           echo "   rm -f $fileTGZf28" >>  $filename_BinVersion
224           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZauxf28" >> $filename_BinVersion 
225           echo "   tar -xvzf $fileTGZauxf28" >>  $filename_BinVersion
226           echo "   rm -f $fileTGZauxf28" >>  $filename_BinVersion
227           
228           echo "  cd creatoolsTPLaux/lib" >>  $filename_BinVersion
229           echo "  ln -s libwx_baseu-3.0.0.5.0.dylib libwx_baseu-3.0.dylib" >>  $filename_BinVersion
230           echo "  ln -s libwx_osx_cocoau_adv-3.0.0.5.0.dylib libwx_osx_cocoau_adv-3.0.dylib" >>  $filename_BinVersion
231           echo "  ln -s libwx_osx_cocoau_aui-3.0.0.5.0.dylib libwx_osx_cocoau_aui-3.0.dylib" >>  $filename_BinVersion
232           echo "  ln -s libwx_osx_cocoau_core-3.0.0.5.0.dylib libwx_osx_cocoau_core-3.0.dylib" >>  $filename_BinVersion
233           echo "  ln -s libwx_osx_cocoau_gl-3.0.0.5.0.dylib libwx_osx_cocoau_gl-3.0.dylib" >>  $filename_BinVersion
234           echo "  ln -s libwx_osx_cocoau_html-3.0.0.5.0.dylib libwx_osx_cocoau_html-3.0.dylib" >>  $filename_BinVersion
235 #         echo " ln -s libarchive.dylib libarchive.2.dylib" >>  $filename_BinVersion
236           echo "ACTUALDIRLINK=\$(pwd)" >>  $filename_BinVersion
237           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_baseu-3.0.dylib" >>  $filename_BinVersion
238           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_osx_cocoau_core-3.0.dylib" >>  $filename_BinVersion
239           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_osx_cocoau_adv-3.0.dylib" >>  $filename_BinVersion
240           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_osx_cocoau_html-3.0.dylib" >>  $filename_BinVersion
241           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_osx_cocoau_aui-3.0.dylib" >>  $filename_BinVersion
242           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_osx_cocoau_gl-3.0.dylib" >>  $filename_BinVersion
243           echo "  cd ../.." >>  $filename_BinVersion
244           
245       echo "   installPrefixTPLaux=\$(pwd)/creatoolsTPLaux #You need this variable in the -barshrc script" >>  $filename_BinVersion
246       echo "   source creatoolsTPLaux/share/creatools/TPLaux-bashrc.sh"  >>  $filename_BinVersion
247
248           echo "else" >> $filename_BinVersion
249           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZstring.tgz" >> $filename_BinVersion 
250           echo "   tar -xvzf $fileTGZstring.tgz" >>  $filename_BinVersion
251           echo "   rm -f $fileTGZstring.tgz" >>  $filename_BinVersion
252       echo "   OperatingSystem=\`getDistrib\`  #You need this variable in the Base-Stuff script" >>  $filename_BinVersion
253       echo "   cd thirdparty_install/share/creatools/"  >>  $filename_BinVersion
254       echo "   source ThirdParty-install-Base-Stuff.sh \$OperatingSystem"  >>  $filename_BinVersion
255       echo "   cd ../../.."  >>  $filename_BinVersion
256           echo "fi" >> $filename_BinVersion
257          
258
259 #EED     echo "source creatools_install/share/creatools/LocalFunctions.sh"  >>  $filename_BinVersion
260      echo "installPrefix=\$(pwd)/creatools_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
261      echo "installPrefixThird=\$(pwd)/thirdparty_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
262      echo "source thirdparty_install/share/creatools/ThirdParty-bashrc.sh"  >>  $filename_BinVersion
263      echo "source creatools_install/share/creatools/CreaTools-bashrc.sh"  >>  $filename_BinVersion
264      echo "echo $fileTGZstring >> Creatools-Bin-Version.txt " >>  $filename_BinVersion
265
266      echo "echo  " >>  $filename_BinVersion
267      echo "echo  " >>  $filename_BinVersion
268      echo "echo  " >>  $filename_BinVersion
269      echo "echo  " >>  $filename_BinVersion
270      echo "echo 'Open a new terminal to run creatools.'" >>  $filename_BinVersion
271      echo "echo '(Close this window and continue....)' " >>  $filename_BinVersion
272      echo "echo  " >>  $filename_BinVersion
273      echo "echo  " >>  $filename_BinVersion
274      echo "echo  Install dir:" >>  $filename_BinVersion
275      echo "pwd"    >>  $filename_BinVersion
276      echo "echo  " >>  $filename_BinVersion
277      echo "read -p 'Press [Enter] key to continue...'" >>  $filename_BinVersion
278      scp $filename_BinVersion $distanceAdress/. 
279      rm creatools_install
280      rm thirdparty_install
281
282
283 #-----------------------------------------------------------------
284
285          cat $scriptDir/Install-Creatools-Bin.sh-downloadTool $scriptDir/Install-Creatools-Bin.sh > Install-Creatools-Bin-tmp.sh
286
287 echo A
288 cmd='scp Install-Creatools-Bin-tmp.sh $distanceAdress/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh' 
289 echo $(eval "echo $cmd")
290 $(eval $cmd)
291
292 echo B
293 cmd='ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm Install-Creatools-Bin-Release.sh; ln -s v$creatoolsMajorVersion.x.x/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh  Install-Creatools-Bin-Release.sh"'
294 echo $(eval "echo $cmd")
295 $(eval $cmd)
296
297 echo C
298 cmd='ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm creatools-Linux-Bin.sh;  ln -s v$creatoolsMajorVersion.x.x/$filename_BinVersion  creatools-Linux-Bin.sh"'
299 echo $(eval "echo $cmd")
300 $(eval $cmd)
301
302
303      echo ""
304      echo ""
305      echo ""
306      echo "Creation OK:"
307      echo $fileTGZ
308      echo ""
309      echo $PWD
310         
311   else
312    echo
313    echo "..ERROR.."
314    echo "==================================================="
315    echo "REMEMBER !"
316    echo ""
317    echo "You MUST run before:"
318    echo "   > ./instalscript config"
319    echo "   > ./instalscript 3rd"
320    echo "   > ./instalscript creatools"
321    echo "==================================================="
322    echo
323    echo 
324    read a
325    exit 0 
326   fi  
327   
328
329