]> Creatis software - clitk.git/blob - cluster_tools/gate_make_release.sh
Debug RTStruct conversion with empty struc
[clitk.git] / cluster_tools / gate_make_release.sh
1 #!/bin/bash
2
3 function usage {
4     echo "ERROR: $1"
5     echo "$(basename $0) [name]"
6     exit 1
7 }
8
9 GATENAME="${1:-Gate}"
10 which "${GATENAME}" > /dev/null || usage "cant locate ${GATENAME} binary"
11 GATEBIN="$(which ${GATENAME})"
12 echo "${GATENAME} executable is ${GATEBIN}"
13
14 test -d "${G4NEUTRONHPDATA}" || usage "can't locate neutron data. please set G4NEUTRONHPDATA"
15 echo "neutron data is ${G4NEUTRONHPDATA}"
16 test -d "${G4LEVELGAMMADATA}" || usage "can't locate gamma data. please set G4LEVELGAMMADATA"
17 echo "gamma data is ${G4LEVELGAMMADATA}"
18 test -d "${G4RADIOACTIVEDATA}" || usage "can't locate radioactivity data. please set G4RADIOACTIVEDATA"
19 echo "radioactivity data is ${G4RADIOACTIVEDATA}"
20 test -d "${G4ABLADATA}" || usage "can't locate abla data. please set G4ABLADATA"
21 echo "abla data is ${G4ABLADATA}"
22 test -d "${G4LEDATA}" || usage "can't locate em data. please set G4LEDATA"
23 echo "em data is ${G4LEDATA}"
24 test -d "${G4REALSURFACEDATA}" || usage "can't locate surface data. please set G4REALSURFACEDATA"
25 echo "surface data is ${G4REALSURFACEDATA}"
26 test -d "${G4NEUTRONXSDATA}" || usage "can't locate neutron xs data. please set G4NEUTRONXSDATA"
27 echo "neutron xs data is ${G4NEUTRONXSDATA}"
28 test -d "${G4PIIDATA}" || usage "can't locate pii data. please set G4PIIDATA"
29 echo "pii data is ${G4PIIDATA}"
30
31 echo "Cleaning previous build"
32 # rm -fr $(basename ${G4NEUTRONHPDATA})
33 # rm -fr $(basename ${G4LEVELGAMMADATA})
34 # rm -fr $(basename ${G4RADIOACTIVEDATA})
35 # rm -fr $(basename ${G4ABLADATA})
36 # rm -fr $(basename ${G4LEDATA})
37 # rm -fr $(basename ${G4REALSURFACEDATA})
38 rm -fr test_libs gate_shared_libs.tar.gz gate_release.tar.gz
39
40 echo "Copying libraries"
41 function get_deps {
42     ldd $1 | while read library; do
43         libfile="$(echo ${library} | awk -F' ' '/=> \// {print $3}')"
44         test $libfile || continue # didn't macht regex
45         test -f "test_libs/$(basename ${libfile})" && continue # already exists
46         echo "${libfile}"
47         cp "${libfile}" "test_libs/$(basename ${libfile})"
48         get_deps "${libfile}"
49     done
50 }
51
52 mkdir test_libs
53 get_deps "${GATEBIN}"
54
55 echo "Removing unused libraries"
56 rm -f test_libs/libdl.so*
57 rm -f test_libs/libm.so*
58 rm -f test_libs/libstdc++.so*
59 rm -f test_libs/libgcc_s.so*
60 rm -f test_libs/libpthread.so*
61 rm -f test_libs/libc.so*
62
63 echo "Zipping libraries"
64 (
65     cd test_libs
66     tar -czvf ../gate_shared_libs.tar.gz **
67 ) || usage "can't create libraries tar"
68
69 echo "Copying binary"
70 cp "${GATEBIN}" .
71
72 echo "Copying data"
73 cp -r "${G4NEUTRONHPDATA}" .
74 cp -r "${G4LEVELGAMMADATA}" .
75 cp -r "${G4RADIOACTIVEDATA}" .
76 cp -r "${G4ABLADATA}" .
77 cp -r "${G4LEDATA}" .
78 cp -r "${G4REALSURFACEDATA}" .
79 cp -r "${G4NEUTRONXSDATA}" .
80 cp -r "${G4PIIDATA}" .
81
82 echo "Making release"
83 tar -czvf gate_release.tar.gz \
84     ${GATENAME} gate_shared_libs.tar.gz \
85     $(basename ${G4NEUTRONHPDATA}) \
86     $(basename ${G4LEVELGAMMADATA}) \
87     $(basename ${G4RADIOACTIVEDATA}) \
88     $(basename ${G4ABLADATA}) \
89     $(basename ${G4LEDATA}) \
90     $(basename ${G4REALSURFACEDATA}) \
91     $(basename ${G4NEUTRONXSDATA}) \
92     $(basename ${G4PIIDATA}) \
93     || usage "can't create release zip"
94
95 chmod -w gate_release.tar.gz