]> Creatis software - creaToolsTools.git/blob - Linux/scripts/CreaTools-GenerateBinTGZ.sh
81975ca97dd6ae680722c1bfb427837105694db4
[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 eval cmd2=$cmd
60 echo $cmd2
61 eval $cmd2
62
63         source creatools_install/share/creatools/Version.sh 
64 #       distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.$creatoolsMinorVersion.x/
65         distanceAdress=davila@tux.creatis.insa-lyon.fr:creatools/creaTools/v$creatoolsMajorVersion.x.x/
66         fileTGZ=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-`getDistrib`-`getDistribVersion`.tgz
67         fileTGZstring=CreaTools-Bin-Release-\$creatoolsMajorVersion.\$creatoolsMinorVersion.\$creatoolsBuildVersion-\`getDistrib\`-\`getDistribVersion\`
68         tar -cvzf $fileTGZ creatools_install/* thirdparty_install/*
69         scp $fileTGZ $distanceAdress/$fileTGZ 
70
71 #--------CreaTools-Final_User---------------------------------------------------------
72
73         creatoolsTPLaux=creatoolsTPLaux
74         rm -rf $creatoolsTPLaux
75         mkdir $creatoolsTPLaux
76         cd $creatoolsTPLaux
77         mkdir bin
78         mkdir share
79         mkdir share/creatools
80         echo "export PATH=\$PATH:\$1/bin" > share/creatools/creatools_TPLaux_config.sh
81 # MacOs
82         if [ `getDistrib` == MacOS ]  ; then 
83                 echo "export DYLD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib" >> share/creatools/creatools_TPLaux_config.sh
84         else 
85                 echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$1/lib64" >> share/creatools/creatools_TPLaux_config.sh
86         fi
87
88         cp $scriptDir/TPLaux-bashrc.sh share/creatools/TPLaux-bashrc.sh
89
90 # Fedora 31 
91         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 31 ] ; then 
92         mkdir lib64
93             cd lib64
94                 cp /usr/lib64/libwx*-3.0.so.0 .
95                 cp /usr/lib64/libboost_*.so.1.69.0 .
96                 cp /usr/lib64/libm.so.6 .
97                 cp /usr/lib64/libstdc++.so.6 .
98                 cp /usr/lib64/libSDL2-2.0.so.0 .
99                 cp /usr/lib64/libmspack.so.0 .
100                 cp /usr/lib64/libjpeg.so.62 .
101                 cp /usr/lib64/libicudata.so.63 .
102                 cp /usr/lib64/libicui18n.so.63 .
103                 cp /usr/lib64/libicuuc.so.63 .
104         fi
105
106 # Fedora 30
107         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 30 ] ; then 
108         mkdir lib64
109             cd lib64
110                 cp /usr/lib64/libwx*-3.0.so.0 .
111                 cp /usr/lib64/libboost_*.so.1.69.0 .
112                 cp /usr/lib64/libm.so.6 .
113                 cp /usr/lib64/libstdc++.so.6 .
114                 cp /usr/lib64/libSDL2-2.0.so.0 .
115                 cp /usr/lib64/libmspack.so.0 .
116                 cp /usr/lib64/libjpeg.so.62 .
117                 cp /usr/lib64/libicudata.so.63 .
118                 cp /usr/lib64/libicui18n.so.63 .
119                 cp /usr/lib64/libicuuc.so.63 .
120         fi
121
122 # Fedora 28
123         if [ `getDistrib` == Fedora ] && [ `getDistribVersion` == 28 ] ; then 
124         mkdir lib64
125             cd lib64
126                 cp /usr/lib64/libwx*-3.0.so.0 .
127                 cp /usr/lib64/libboost_*.so.1.66.0 .
128                 cp /usr/lib64/libjpeg.so.62 .
129                 cp /usr/lib64/libSDL2-2.0.so.0 .
130                 cp /usr/lib64/libmspack.so.0 .
131                 cp /usr/lib64/libmspack.so.0 .
132                 cp /usr/lib64/libicudata.so.60 .
133                 cp /usr/lib64/libicui18n.so.60 . 
134                 cp /usr/lib64/libicuuc.so.60 . 
135                 ## For Fedora 32
136                 cp /usr/lib64/libGLU.so.1 . 
137         fi
138
139
140 # MacOs
141         if [ `getDistrib` == MacOS ]  ; then 
142         mkdir lib
143             cd lib
144         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_baseu-3.0.0.5.0.dylib                 . 
145         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_core-3.0.0.5.0.dylib   .  
146         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_adv-3.0.0.5.0.dylib    .
147         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_html-3.0.0.5.0.dylib   . 
148         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_aui-3.0.0.5.0.dylib    . 
149         cp /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/libwx_osx_cocoau_gl-3.0.0.5.0.dylib     .  
150         
151         cp /opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib           .
152         cp /opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib                   .
153         cp /opt/local/libexec/boost/1.76/lib/libboost_date_time-mt.dylib                .
154         cp /opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib                   .
155         cp /opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib                    .
156         cp /opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib  .
157         cp /opt/local/libexec/boost/1.76/lib/libboost_chrono-mt.dylib                   .
158         cp /opt/local/libexec/boost/1.76/lib/libboost_atomic-mt.dylib                   .
159         
160         cp /opt/local/lib/libjpeg.8.dylib          .
161         cp /opt/local/lib/libpng16.16.dylib        .
162         cp /opt/local/lib/libtiff.5.dylib              .
163         cp /opt/local/lib/libz.1.dylib                 .
164         cp /opt/local/lib/libzstd.1.dylib              .
165                 
166         cp /opt/local/lib/libicudata.67.dylib      .
167         cp /opt/local/lib/libicui18n.67.dylib      .
168         cp /opt/local/lib/libicuuc.67.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-28 ">> $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 eval cmd2=$cmd
290 echo $cmd2
291 eval $cmd2
292
293 echo B
294 cmd='ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm Install-Creatools-Bin-Release.sh; ln -s v5.x.x/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh  Install-Creatools-Bin-Release.sh"'
295 eval cmd2=$cmd
296 echo $cmd2
297 eval $cmd2
298
299 echo C
300 cmd='ssh davila@tux.creatis.insa-lyon.fr "cd creatools/creaTools;rm creatools-Linux-Bin.sh;  ln -s v5.x.x/$filename_BinVersion  creatools-Linux-Bin.sh"'
301 eval cmd2=$cmd
302 echo $cmd2
303 eval $cmd2
304
305
306      echo ""
307      echo ""
308      echo ""
309      echo "Creation OK:"
310      echo $fileTGZ
311      echo ""
312      echo $PWD
313         
314   else
315    echo
316    echo "..ERROR.."
317    echo "==================================================="
318    echo "REMEMBER !"
319    echo ""
320    echo "You MUST run before:"
321    echo "   > ./instalscript config"
322    echo "   > ./instalscript 3rd"
323    echo "   > ./instalscript creatools"
324    echo "==================================================="
325    echo
326    echo 
327    read a
328    exit 0 
329   fi  
330   
331
332