]> 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/lib" >> 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                 mkdir opt
148         cp /opt/local/lib/libiconv.2.dylib             opt/.
149         cp /opt/local/lib/liblzo2.2.dylib              .
150         cp /opt/local/lib/liblz4.1.dylib               .
151 #        cp /opt/local/lib/libarchive.dylib            .
152  #       cp /opt/local/lib/liblzma.5.dylib             .
153   #      cp /opt/local/lib/libcharset.1.dylib      .
154  #       cp /opt/local/lib/libbz2.1.0.dylib            .
155    #     cp /opt/local/lib/libxml2.2.dylib             . 
156         cp /opt/local/lib/libomp/libomp.dylib    . 
157     fi
158
159
160         cd ../..
161         fileTGZaux=$creatoolsTPLaux-`getDistrib`-`getDistribVersion`.tgz
162         rm -rf $fileTGZaux
163         tar -cvzf $fileTGZaux $creatoolsTPLaux
164         scp $fileTGZaux $distanceAdress/$fileTGZaux
165
166
167 ## EED Borrame
168 ##      fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-Fedora-28.tgz
169 ##      fileTGZauxf28=$creatoolsTPLaux-Fedora-28.tgz
170
171         fileTGZf28=CreaTools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion-'$'VERFINALUSER.tgz
172         fileTGZauxf28=$creatoolsTPLaux-'$'VERFINALUSER.tgz
173
174
175         
176 #--------Script de Instalation :  creatools-Linux-Bin-x.x.x.sh   --------------------------------------------------------
177
178
179         filename_BinVersion=creatools-Linux-Bin-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh
180
181           echo "##" > $filename_BinVersion
182           echo "## Generated by CreaTools-GeneratedBinTGZ.sh" >> $filename_BinVersion
183           echo "##" >> $filename_BinVersion
184
185           cat creatools_install/share/creatools/Version.sh >> $filename_BinVersion
186           cat $scriptDir/LocalFunctions.sh >> $filename_BinVersion
187
188      echo "ETC_BASHRC=\`getbashrc\`" >>  $filename_BinVersion
189
190
191           echo "if [ \"\$1\" == \"FinalUser\" ] ; then" >> $filename_BinVersion
192           echo "   if [ \`getDistrib\` == Fedora ] ; then ">> $filename_BinVersion 
193           echo "     VERFINALUSER=Fedora-28 ">> $filename_BinVersion 
194           echo "   fi ">> $filename_BinVersion 
195           echo "   if [ \`getDistrib\` == MacOS ] ; then ">> $filename_BinVersion 
196           echo "     VERFINALUSER=MacOS-10.11.6 ">> $filename_BinVersion 
197           echo "   fi ">> $filename_BinVersion 
198           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZf28" >> $filename_BinVersion 
199           echo "   tar -xvzf $fileTGZf28" >>  $filename_BinVersion
200           echo "   rm -f $fileTGZf28" >>  $filename_BinVersion
201           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZauxf28" >> $filename_BinVersion 
202           echo "   tar -xvzf $fileTGZauxf28" >>  $filename_BinVersion
203           echo "   rm -f $fileTGZauxf28" >>  $filename_BinVersion
204           
205           echo "  cd creatoolsTPLaux/lib" >>  $filename_BinVersion
206           echo "  ln -s libwx_baseu-3.0.0.5.0.dylib libwx_baseu-3.0.dylib" >>  $filename_BinVersion
207           echo "  ln -s libwx_osx_cocoau_adv-3.0.0.5.0.dylib libwx_osx_cocoau_adv-3.0.dylib" >>  $filename_BinVersion
208           echo "  ln -s libwx_osx_cocoau_aui-3.0.0.5.0.dylib libwx_osx_cocoau_aui-3.0.dylib" >>  $filename_BinVersion
209           echo "  ln -s libwx_osx_cocoau_core-3.0.0.5.0.dylib libwx_osx_cocoau_core-3.0.dylib" >>  $filename_BinVersion
210           echo "  ln -s libwx_osx_cocoau_gl-3.0.0.5.0.dylib libwx_osx_cocoau_gl-3.0.dylib" >>  $filename_BinVersion
211           echo "  ln -s libwx_osx_cocoau_html-3.0.0.5.0.dylib libwx_osx_cocoau_html-3.0.dylib" >>  $filename_BinVersion
212 #         echo " ln -s libarchive.dylib libarchive.2.dylib" >>  $filename_BinVersion
213           echo "ACTUALDIRLINK=\$(pwd)" >>  $filename_BinVersion
214           echo "install_name_tool -change /opt/local/lib/libiconv.2.dylib \$ACTUALDIRLINK/opt/libiconv.2.dylib libwx_baseu-3.0.dylib" >>  $filename_BinVersion
215           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
216           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
217           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
218           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
219           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
220           echo "  cd ../.." >>  $filename_BinVersion
221           
222       echo "   installPrefixTPLaux=\$(pwd)/creatoolsTPLaux #You need this variable in the -barshrc script" >>  $filename_BinVersion
223       echo "   source creatoolsTPLaux/share/creatools/TPLaux-bashrc.sh"  >>  $filename_BinVersion
224
225           echo "else" >> $filename_BinVersion
226           echo "   \`getDownloadCommand\` https://www.creatis.insa-lyon.fr/software/public/creatools/creaTools/v\$creatoolsMajorVersion.x.x/$fileTGZstring.tgz" >> $filename_BinVersion 
227           echo "   tar -xvzf $fileTGZstring.tgz" >>  $filename_BinVersion
228           echo "   rm -f $fileTGZstring.tgz" >>  $filename_BinVersion
229       echo "   OperatingSystem=\`getDistrib\`  #You need this variable in the Base-Stuff script" >>  $filename_BinVersion
230       echo "   cd thirdparty_install/share/creatools/"  >>  $filename_BinVersion
231       echo "   source ThirdParty-install-Base-Stuff.sh \$OperatingSystem"  >>  $filename_BinVersion
232       echo "   cd ../../.."  >>  $filename_BinVersion
233           echo "fi" >> $filename_BinVersion
234          
235
236 #EED     echo "source creatools_install/share/creatools/LocalFunctions.sh"  >>  $filename_BinVersion
237      echo "installPrefix=\$(pwd)/creatools_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
238      echo "installPrefixThird=\$(pwd)/thirdparty_install #You need this variable in the -barshrc script" >>  $filename_BinVersion
239      echo "source thirdparty_install/share/creatools/ThirdParty-bashrc.sh"  >>  $filename_BinVersion
240      echo "source creatools_install/share/creatools/CreaTools-bashrc.sh"  >>  $filename_BinVersion
241      echo "echo $fileTGZstring >> Creatools-Bin-Version.txt " >>  $filename_BinVersion
242
243      echo "echo  " >>  $filename_BinVersion
244      echo "echo  " >>  $filename_BinVersion
245      echo "echo  " >>  $filename_BinVersion
246      echo "echo  " >>  $filename_BinVersion
247      echo "echo 'Open a new terminal to run creatools.'" >>  $filename_BinVersion
248      echo "echo '(Close this window and continue....)' " >>  $filename_BinVersion
249      echo "echo  " >>  $filename_BinVersion
250      echo "echo  " >>  $filename_BinVersion
251      echo "echo  Install dir:" >>  $filename_BinVersion
252      echo "pwd"    >>  $filename_BinVersion
253      echo "echo  " >>  $filename_BinVersion
254      echo "read -p 'Press [Enter] key to continue...'" >>  $filename_BinVersion
255      scp $filename_BinVersion $distanceAdress/. 
256      rm creatools_install
257      rm thirdparty_install
258
259
260 #-----------------------------------------------------------------
261
262          cat $scriptDir/Install-Creatools-Bin.sh-downloadTool $scriptDir/Install-Creatools-Bin.sh > Install-Creatools-Bin-tmp.sh
263
264      scp Install-Creatools-Bin-tmp.sh $distanceAdress/Install-Creatools-Bin-Release-$creatoolsMajorVersion.$creatoolsMinorVersion.$creatoolsBuildVersion.sh       
265
266          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"
267
268          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"
269
270
271
272      echo ""
273      echo ""
274      echo ""
275      echo "Creation OK:"
276      echo $fileTGZ
277      echo ""
278      echo $PWD
279         
280   else
281    echo
282    echo "..ERROR.."
283    echo "==================================================="
284    echo "REMEMBER !"
285    echo ""
286    echo "You MUST run before:"
287    echo "   > ./instalscript config"
288    echo "   > ./instalscript 3rd"
289    echo "   > ./instalscript creatools"
290    echo "==================================================="
291    echo
292    echo 
293    read a
294    exit 0 
295   fi  
296   
297
298