Statistics
| Revision:

root / trunk / install / distribucion.sh @ 9560

History | View | Annotate | Download (10.1 KB)

1 4679 cesar
#!/bin/bash
2
3 4696 cesar
# Si se produce un error, salimos inmediatamente
4
set -e
5
6 4692 cesar
# Obtenemos el locale
7
LOC=`echo $LANG | sed 's/_.*//'`
8
9
# Comprobar que estamos en el directorio adecuado
10
if [ $LOC = "es" ] ; then
11
  ERROR_BASEDIR="Este script debe invocarse desde el directorio raiz del workspace o desde el directorio \'install\'"
12
else
13 4701 cesar
  ERROR_BASEDIR="This script must be run from the workspace\'s root directory or from the \'install\' directory"
14 4692 cesar
fi
15
[ -d _fwAndami ] && [ -d install ] && cd install
16
if [ ! -d instalador-gvSIG-lin ] || [ ! -d instalador-gvSIG-win ] || [ ! -d ../_fwAndami ] ; then
17 5841 cesar
        echo $ERROR_BASEDIR
18
        exit 1 ;
19 4692 cesar
fi
20 5841 cesar
21 4692 cesar
DIR_BASE=`pwd`
22
23 5841 cesar
source variables.sh
24
# Get a version with format 1_0_alpha
25
UNDERSCORE_VERSION=`echo $FULLVERSION | sed 'y/./_/'`
26
# Get a version with format 10_alpha
27
BRIEFVERSION=`echo $FULLVERSION | sed 's/\.//'`
28
# The name of the dir which will be ZIPed, containing the resulting installer
29
INSTALLER_DIR="$APPNAME"-$FULLVERSION\_installer
30
JARNAME="$APPNAME"-"$FULLVERSION".jar
31
# The extension targets on the this version of gvSIG:
32 6898 cesar
GVSIG_VERSION=1.0
33 5841 cesar
34
BUILDNUMBER=`sed -n 's/build.number=//p' ../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/build.number`
35
36
#ZIPNAME="$APPNAME"-"$UNDERSCORE_VERSION"\_"$BUILDNUMBER".zip
37
DIR_LIN=instalador-gvSIG-lin
38
DIR_WIN=instalador-gvSIG-win
39 8350 jmvivo
DIR_MAC=instalador-gvSIG-mac
40 6088 jmvivo
WINDOWSZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.7z
41 5841 cesar
LINUXZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.tgz
42
43 6853 jmvivo
LINUXBIN="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.bin
44
LINUXBINWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586-withjre.bin
45
46 6088 jmvivo
WINDOWSEXE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.exe
47 6853 jmvivo
WINDOWSEXEWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586-withjre.exe
48 6088 jmvivo
49 8350 jmvivo
MAC_10_3_ZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-mac-10_3.zip
50
MAC_10_4_ZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-mac-10_4.zip
51
52 4679 cesar
#Directorios
53 5841 cesar
#OUTPUT_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/v"$FULLVERSION"\_"$BUILDNUMBER"
54
OUTPUT_DIR="$TARGET_DIR"/v"$FULLVERSION"\_"$BUILDNUMBER"
55 4696 cesar
PATH_SOURCE_EXT=../_fwAndami/gvSIG/extensiones
56
PATH_SOURCE_MANDAT_EXT=../../../../../_fwAndami/gvSIG/extensiones
57 4679 cesar
58 4692 cesar
59 4679 cesar
echo "*****************"
60 4692 cesar
echo "      BASE       "
61 4679 cesar
echo "*****************"
62 6088 jmvivo
# Para Linux
63 4696 cesar
echo -n "$DIR_BASE"/"$DIR_LIN" "-- "
64 4692 cesar
cd "$DIR_BASE"/"$DIR_LIN"
65
rm bin -rf
66
mkdir -p bin/gvSIG/extensiones
67 5841 cesar
cp installer_files/LEEME installer_files/LLIG-ME installer_files/README bin
68 4696 cesar
cp resources/gpl.txt bin
69 4789 cesar
# No enlazamos directamente el directorio lib para no incluir el directorio CVS
70
mkdir -p bin/lib
71
cd "$DIR_BASE"/"$DIR_LIN"/bin/lib
72
for i in ../../../../_fwAndami/lib/*.jar ; do
73
  ln -s "$i" .
74
done
75
for i in ../../../../_fwAndami/lib/*.zip ; do
76
  ln -s "$i" .
77
done
78
cd "$DIR_BASE"/"$DIR_LIN"
79 4696 cesar
ln -s ../../../_fwAndami/andami.jar bin/
80 8324 jmvivo
ln -s ../../../_fwAndami/castor.properties bin/
81 6968 cesar
#cp resources/andami-config.xml bin
82 4696 cesar
echo OK.
83
84 5841 cesar
85 6088 jmvivo
# Para Windows
86 4696 cesar
echo -n "$DIR_BASE"/"$DIR_WIN" "-- "
87
cd "$DIR_BASE"/"$DIR_WIN"
88
rm bin -rf
89
mkdir -p bin/gvSIG/extensiones
90 5841 cesar
cp installer_files/LEEME.txt installer_files/LLIG-ME.txt installer_files/README.txt bin
91 4696 cesar
cp resources/gpl.txt bin
92 4789 cesar
# No enlazamos directamente el directorio lib para no incluir el directorio CVS
93
mkdir -p bin/lib
94
cd "$DIR_BASE"/"$DIR_WIN"/bin/lib
95
for i in ../../../../_fwAndami/lib/*.jar ; do
96
  ln -s "$i" .
97
done
98
for i in ../../../../_fwAndami/lib/*.zip ; do
99
  ln -s "$i" .
100
done
101
cd "$DIR_BASE"/"$DIR_WIN"
102 4696 cesar
ln -s ../../../_fwAndami/andami.jar bin
103 8325 jmvivo
ln -s ../../../_fwAndami/castor.properties bin/
104 6968 cesar
#cp resources/andami-config.xml bin
105 7334 jmvivo
106
#Copiamos el lanzador y sus tracuciones al tmpResources
107 7948 cesar
rm -Rf tmpResources
108 7334 jmvivo
mkdir tmpResources
109
cp -R ../launcher/izpack-launcher-1.3/dist/* ./tmpResources
110
mv ./tmpResources/launcher-Win32.exe ./tmpResources/gvSIG.exe
111
#Quitamos el ini, manifest y los CVS
112
rm ./tmpResources/*.ini ./tmpResources/*.manifest
113
find ./tmpResources -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
114 4696 cesar
echo OK.
115
116 4692 cesar
# Estas extensiones se copian directamente al directorio destino, ya que no vamos a dar
117
# opcion a no instalarlas, son obligatorias
118 6972 jaume
cd "$DIR_BASE"
119 4692 cesar
i=0
120 6972 jaume
while [ ! -z ${MANDATORY_EXTENSIONS[$i]} ]
121 4692 cesar
do
122 5841 cesar
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
123 4696 cesar
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
124 5841 cesar
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
125 4696 cesar
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
126 4692 cesar
  i=`expr $i + 1`
127
done
128 4679 cesar
129
130 4692 cesar
echo "*****************"
131
[ $LOC = "es" ] && echo "   EXTENSIONES   "
132
[ $LOC != "es" ] && echo "   EXTENSIONS   "
133
echo "*****************"
134 4679 cesar
135 5146 cesar
rm -rf $DIR_LIN/extensiones
136
mkdir $DIR_LIN/extensiones
137
rm -rf $DIR_WIN/extensiones
138
mkdir $DIR_WIN/extensiones
139 4692 cesar
140 4679 cesar
i=0
141 6972 jaume
while [ ! -z ${EXTENSIONS[$i]} ]
142 4679 cesar
do
143 4692 cesar
  [ $LOC = "es" ] && echo "Copiando "${EXTENSIONS[$i]}
144
  [ $LOC != "es" ] && echo "Copying "${EXTENSIONS[$i]}
145 5841 cesar
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
146 5146 cesar
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
147 5841 cesar
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
148 5146 cesar
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
149 4692 cesar
  i=`expr $i + 1`
150 4679 cesar
done
151
152 4692 cesar
153 4679 cesar
echo "*****************"
154
echo "    INST-WIN     "
155
echo "*****************"
156 4692 cesar
# Generar el instalador (jar) para windows
157
cd "$DIR_BASE"/"$DIR_WIN"
158 5841 cesar
rm "$JARNAME" -f
159
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
160 4679 cesar
161
echo "*****************"
162
echo "    INST-LIN     "
163
echo "*****************"
164 4692 cesar
# Generar el instalador (jar) para Linux
165
cd "$DIR_BASE"/"$DIR_LIN"
166 5841 cesar
rm "$JARNAME" -f
167
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
168 4679 cesar
169 5841 cesar
170 4701 cesar
echo "******************"
171
[ $LOC = "es" ] && echo " GENERAR DISTRIB "
172
[ $LOC != "es" ] && echo " GENERATE DISTRIB "
173
echo "******************"
174 6088 jmvivo
# Generar el tar.gz para Linux y el EXE para Windows
175 4679 cesar
176 5841 cesar
mkdir -p "$OUTPUT_DIR"
177 6098 jmvivo
echo "- Linux"
178 5841 cesar
## Para Linux
179 4696 cesar
cd "$DIR_BASE"/"$DIR_LIN"
180 5841 cesar
rm -Rf "$INSTALLER_DIR"
181
cp -a installer_files "$INSTALLER_DIR"
182
rm -R "$INSTALLER_DIR"/CVS 2> /dev/null && true
183
# Set the correct version number in the scripts and files
184
if [ -f  "$INSTALLER_DIR"/install.sh ] ; then
185
  sed "s/JARNAME/$JARNAME/" "$INSTALLER_DIR"/install.sh > "$INSTALLER_DIR"/install.sh.bak
186
  mv "$INSTALLER_DIR"/install.sh.bak "$INSTALLER_DIR"/install.sh ;
187
  chmod +x "$INSTALLER_DIR"/install.sh
188
fi
189 6853 jmvivo
#mv "$JARNAME" "$INSTALLER_DIR"
190
cp "$JARNAME" "$INSTALLER_DIR"
191 5841 cesar
tar -cvzf "$LINUXZIP" "$INSTALLER_DIR"
192
rm -Rf "$INSTALLER_DIR"
193
mv "$LINUXZIP" "$OUTPUT_DIR"
194 4679 cesar
195 6853 jmvivo
## Nueva instalacion para linux
196
cd "$DIR_BASE"/"$DIR_LIN"
197
rm -Rf "$INSTALLER_DIR"
198
mkdir -p "$INSTALLER_DIR"/tmp_gvSIGInstall
199
cp "$JARNAME" "$INSTALLER_DIR"/tmp_gvSIGInstall
200
cd "$INSTALLER_DIR"
201
cp -R "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/dist/* ./tmp_gvSIGInstall
202
find . -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
203 7334 jmvivo
204
sed "s/%JARNAME%/$JARNAME/" ./tmp_gvSIGInstall/launcher.ini > ./tmp_gvSIGInstall/launcher.ini.bak
205
mv ./tmp_gvSIGInstall/launcher.ini.bak ./tmp_gvSIGInstall/launcher.ini;
206
207 6853 jmvivo
tar -cvzf ./tmp.tgz ./tmp_gvSIGInstall
208 6898 cesar
cp "$DIR_BASE"/"$DIR_LIN"/jre/*.gz ./tmp_gvSIGInstall
209 6853 jmvivo
tar -cvzf ./tmp_wjre.tgz ./tmp_gvSIGInstall
210
echo '#!/bin/sh' > xx.tmp
211
lcount=`cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh | wc -l`
212 7146 cesar
lcount=$(($lcount+2)) # sumamos dos: uno por la linea siguiente y otro para el inicio
213 6853 jmvivo
echo "lcount=$lcount" >> xx.tmp
214
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp.tgz  > "$LINUXBIN"
215
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp_wjre.tgz  > "$LINUXBINWITHJRE"
216
rm xx.tmp
217
chmod a+x "$LINUXBIN" "$LINUXBINWITHJRE"
218
mv "$LINUXBINWITHJRE" "$LINUXBIN" "$OUTPUT_DIR"
219
cd "$DIR_BASE"/"$DIR_LIN"
220
rm -Rf "$INSTALLER_DIR"
221
## Fin Nueva instalacion para linux
222
rm "$JARNAME"
223
224
225
226 6972 jaume
227 5841 cesar
## Para Windows
228 6098 jmvivo
echo "- Windows"
229
#set -x
230 4692 cesar
cd "$DIR_BASE"/"$DIR_WIN"
231 5841 cesar
rm -Rf "$INSTALLER_DIR"
232
cp -a installer_files "$INSTALLER_DIR"
233 6088 jmvivo
234
cp -aR ../launcher/izpack-launcher-1.3/dist/* "$INSTALLER_DIR"
235
rm -f "$INSTALLER_DIR"/install.bat
236
237 6098 jmvivo
find "$INSTALLER_DIR" -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
238 6088 jmvivo
239
## hacemos las sustituciones de la variable
240 7334 jmvivo
sed "s/%JARNAME%/$JARNAME/" "$INSTALLER_DIR"/launcher-Win32.ini > "$INSTALLER_DIR"/launcher-Win32.ini.bak
241
mv "$INSTALLER_DIR"/launcher-Win32.ini.bak "$INSTALLER_DIR"/launcher-Win32.ini;
242 6088 jmvivo
243 7334 jmvivo
244 5841 cesar
mv "$JARNAME" "$INSTALLER_DIR"
245 6088 jmvivo
cd "$INSTALLER_DIR"
246
247
if [ -f  "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" ] ; then
248
	rm -f "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP"
249
fi
250
"$DIR_BASE"/launcher/7z/7za a -r "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" *
251
cd -
252
sed "s/%TITLE%/$APPNAME-$BRIEFVERSION\_$BUILDNUMBER/" ../launcher/7z/dist_config.txt > dist_config.txt
253
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXE"
254 6853 jmvivo
255
### paquete con los instalables de JRE, Jai y Jai i/o
256 7334 jmvivo
"$DIR_BASE"/launcher/7z/7za a "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" "$DIR_BASE"/"$DIR_WIN"/jre_installers/*.exe
257 6853 jmvivo
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXEWITHJRE"
258
259 6972 jaume
###
260 6853 jmvivo
261
262 6088 jmvivo
rm dist_config.txt
263 7146 cesar
rm "$WINDOWSZIP"
264 6088 jmvivo
265 5841 cesar
rm -Rf "$INSTALLER_DIR"
266 6088 jmvivo
267
mv "$WINDOWSEXE" "$OUTPUT_DIR"
268 6853 jmvivo
mv "$WINDOWSEXEWITHJRE" "$OUTPUT_DIR"
269 7334 jmvivo
270
# Limpiamos tmpResources
271
cd "$DIR_BASE"/"$DIR_WIN"
272
rm -r ./tmpResources
273 7948 cesar
cd -
274 8350 jmvivo
275
276
## Para Mac
277
echo "- Mac"
278
if type ant 2>/dev/null >/dev/null; then
279
	cd "$DIR_BASE"/"$DIR_MAC"
280 8493 jmvivo
	if ant -Dbuild.number="$BUILDNUMBER" -f build-10_3.xml; then
281 8350 jmvivo
		zip -r "$MAC_10_3_ZIP" "gvSIG 1_0.app"
282
		rm -r "gvSIG 1_0.app"
283
		mv "$MAC_10_3_ZIP" "$OUTPUT_DIR"
284 8493 jmvivo
	else
285
		echo "No se ha generado el paquete para Mac 10.3 . Compruebe que su ant tiene jarbundler instalado"
286
	fi
287
288
	if ant -Dbuild.number="$BUILDNUMBER" -f build-10_4.xml; then
289 8350 jmvivo
		zip -r "$MAC_10_4_ZIP" "gvSIG 1_0.app"
290
		rm -r "gvSIG 1_0.app"
291
		mv "$MAC_10_4_ZIP" "$OUTPUT_DIR"
292
	else
293 8493 jmvivo
		echo "No se ha generado el paquete para Mac 10.4. Compruebe que su ant tiene jarbundler instalado"
294 8350 jmvivo
	fi
295
296
else
297
    echo "No se ha encontrado el ant en el path de ejecucion:
298
    Es necesario para poder generar la distribucion para el Mac.
299
300
    Nota: debemos tener tambien incluido en el ANT_HOME/lib el
301
    jar jarbundler-1.9.jar que se puede encontrar en http://jarbundler.sourceforge.net/
302
    "
303
fi
304 8403 cesar
cd "$DIR_BASE"