Statistics
| Revision:

svn-gvsig-desktop / tags / v1_0_RELEASE / install / distribucion.sh @ 9167

History | View | Annotate | Download (9.8 KB)

1
#!/bin/bash
2

    
3
# Si se produce un error, salimos inmediatamente
4
set -e
5

    
6
# 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
  ERROR_BASEDIR="This script must be run from the workspace\'s root directory or from the \'install\' directory"
14
fi
15
[ -d _fwAndami ] && [ -d install ] && cd install
16
if [ ! -d instalador-gvSIG-lin ] || [ ! -d instalador-gvSIG-win ] || [ ! -d ../_fwAndami ] ; then
17
        echo $ERROR_BASEDIR
18
        exit 1 ;
19
fi
20

    
21
DIR_BASE=`pwd`
22

    
23
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
GVSIG_VERSION=1.0
33

    
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
DIR_MAC=instalador-gvSIG-mac
40
WINDOWSZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.7z
41
LINUXZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.tgz
42

    
43
LINUXBIN="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.bin
44
LINUXBINWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586-withjre.bin
45

    
46
WINDOWSEXE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.exe
47
WINDOWSEXEWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586-withjre.exe
48

    
49
MAC_10_ZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-mac-10.zip
50

    
51

    
52
#Directorios
53
#OUTPUT_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/v"$FULLVERSION"\_"$BUILDNUMBER"
54
OUTPUT_DIR="$TARGET_DIR"/v"$FULLVERSION"\_"$BUILDNUMBER"
55
PATH_SOURCE_EXT=../_fwAndami/gvSIG/extensiones
56
PATH_SOURCE_MANDAT_EXT=../../../../../_fwAndami/gvSIG/extensiones
57

    
58

    
59
echo "*****************"
60
echo "      BASE       "
61
echo "*****************"
62
# Para Linux
63
echo -n "$DIR_BASE"/"$DIR_LIN" "-- "
64
cd "$DIR_BASE"/"$DIR_LIN"
65
rm bin -rf
66
mkdir -p bin/gvSIG/extensiones
67
cp installer_files/LEEME installer_files/LLIG-ME installer_files/README bin
68
cp resources/gpl.txt bin
69
# 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
ln -s ../../../_fwAndami/andami.jar bin/
80
ln -s ../../../_fwAndami/castor.properties bin/
81
#cp resources/andami-config.xml bin
82
echo OK.
83

    
84

    
85
# Para Windows
86
echo -n "$DIR_BASE"/"$DIR_WIN" "-- "
87
cd "$DIR_BASE"/"$DIR_WIN"
88
rm bin -rf
89
mkdir -p bin/gvSIG/extensiones
90
cp installer_files/LEEME.txt installer_files/LLIG-ME.txt installer_files/README.txt bin
91
cp resources/gpl.txt bin
92
# 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
ln -s ../../../_fwAndami/andami.jar bin
103
ln -s ../../../_fwAndami/castor.properties bin/
104
#cp resources/andami-config.xml bin
105

    
106
#Copiamos el lanzador y sus tracuciones al tmpResources
107
rm -Rf tmpResources
108
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
echo OK.
115

    
116
# Estas extensiones se copian directamente al directorio destino, ya que no vamos a dar
117
# opcion a no instalarlas, son obligatorias
118
cd "$DIR_BASE"
119
i=0
120
while [ ! -z ${MANDATORY_EXTENSIONS[$i]} ]
121
do
122
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
123
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
124
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
125
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
126
  i=`expr $i + 1`
127
done
128

    
129
## Eliminamos el driver de oracle
130
find . -name ojdbc14.jar -type d -exec rm -rf {} 2> /dev/null ';' || true
131

    
132
echo "*****************"
133
[ $LOC = "es" ] && echo "   EXTENSIONES   "
134
[ $LOC != "es" ] && echo "   EXTENSIONS   "
135
echo "*****************"
136

    
137
rm -rf $DIR_LIN/extensiones
138
mkdir $DIR_LIN/extensiones
139
rm -rf $DIR_WIN/extensiones
140
mkdir $DIR_WIN/extensiones
141

    
142
i=0
143
while [ ! -z ${EXTENSIONS[$i]} ]
144
do
145
  [ $LOC = "es" ] && echo "Copiando "${EXTENSIONS[$i]}
146
  [ $LOC != "es" ] && echo "Copying "${EXTENSIONS[$i]}
147
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
148
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
149
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
150
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
151
  i=`expr $i + 1`
152
done
153

    
154

    
155
echo "*****************"
156
echo "    INST-WIN     "
157
echo "*****************"
158
# Generar el instalador (jar) para windows
159
cd "$DIR_BASE"/"$DIR_WIN"
160
rm "$JARNAME" -f
161
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
162

    
163
echo "*****************"
164
echo "    INST-LIN     "
165
echo "*****************"
166
# Generar el instalador (jar) para Linux
167
cd "$DIR_BASE"/"$DIR_LIN"
168
rm "$JARNAME" -f
169
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
170

    
171

    
172
echo "******************"
173
[ $LOC = "es" ] && echo " GENERAR DISTRIB "
174
[ $LOC != "es" ] && echo " GENERATE DISTRIB "
175
echo "******************"
176
# Generar el tar.gz para Linux y el EXE para Windows
177

    
178
mkdir -p "$OUTPUT_DIR"
179
echo "- Linux"
180
## Para Linux
181
cd "$DIR_BASE"/"$DIR_LIN"
182
rm -Rf "$INSTALLER_DIR"
183
cp -a installer_files "$INSTALLER_DIR"
184
rm -R "$INSTALLER_DIR"/CVS 2> /dev/null && true
185
# Set the correct version number in the scripts and files
186
if [ -f  "$INSTALLER_DIR"/install.sh ] ; then
187
  sed "s/JARNAME/$JARNAME/" "$INSTALLER_DIR"/install.sh > "$INSTALLER_DIR"/install.sh.bak
188
  mv "$INSTALLER_DIR"/install.sh.bak "$INSTALLER_DIR"/install.sh ;
189
  chmod +x "$INSTALLER_DIR"/install.sh
190
fi
191
#mv "$JARNAME" "$INSTALLER_DIR"
192
cp "$JARNAME" "$INSTALLER_DIR"
193
tar -cvzf "$LINUXZIP" "$INSTALLER_DIR"
194
rm -Rf "$INSTALLER_DIR"
195
mv "$LINUXZIP" "$OUTPUT_DIR"
196

    
197
## Nueva instalacion para linux
198
cd "$DIR_BASE"/"$DIR_LIN"
199
rm -Rf "$INSTALLER_DIR"
200
mkdir -p "$INSTALLER_DIR"/tmp_gvSIGInstall
201
cp "$JARNAME" "$INSTALLER_DIR"/tmp_gvSIGInstall
202
cd "$INSTALLER_DIR"
203
cp -R "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/dist/* ./tmp_gvSIGInstall
204
find . -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
205

    
206
sed "s/%JARNAME%/$JARNAME/" ./tmp_gvSIGInstall/launcher.ini > ./tmp_gvSIGInstall/launcher.ini.bak
207
mv ./tmp_gvSIGInstall/launcher.ini.bak ./tmp_gvSIGInstall/launcher.ini;
208

    
209
tar -cvzf ./tmp.tgz ./tmp_gvSIGInstall
210
cp "$DIR_BASE"/"$DIR_LIN"/jre/*.gz ./tmp_gvSIGInstall
211
tar -cvzf ./tmp_wjre.tgz ./tmp_gvSIGInstall
212
echo '#!/bin/sh' > xx.tmp
213
lcount=`cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh | wc -l`
214
lcount=$(($lcount+2)) # sumamos dos: uno por la linea siguiente y otro para el inicio
215
echo "lcount=$lcount" >> xx.tmp
216
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp.tgz  > "$LINUXBIN"
217
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp_wjre.tgz  > "$LINUXBINWITHJRE"
218
rm xx.tmp
219
chmod a+x "$LINUXBIN" "$LINUXBINWITHJRE"
220
mv "$LINUXBINWITHJRE" "$LINUXBIN" "$OUTPUT_DIR"
221
cd "$DIR_BASE"/"$DIR_LIN"
222
rm -Rf "$INSTALLER_DIR"
223
## Fin Nueva instalacion para linux
224
rm "$JARNAME"
225

    
226

    
227

    
228

    
229
## Para Windows
230
echo "- Windows"
231
#set -x
232
cd "$DIR_BASE"/"$DIR_WIN"
233
rm -Rf "$INSTALLER_DIR"
234
cp -a installer_files "$INSTALLER_DIR"
235

    
236
cp -aR ../launcher/izpack-launcher-1.3/dist/* "$INSTALLER_DIR"
237
rm -f "$INSTALLER_DIR"/install.bat
238

    
239
find "$INSTALLER_DIR" -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
240

    
241
## hacemos las sustituciones de la variable
242
sed "s/%JARNAME%/$JARNAME/" "$INSTALLER_DIR"/launcher-Win32.ini > "$INSTALLER_DIR"/launcher-Win32.ini.bak
243
mv "$INSTALLER_DIR"/launcher-Win32.ini.bak "$INSTALLER_DIR"/launcher-Win32.ini;
244

    
245

    
246
mv "$JARNAME" "$INSTALLER_DIR"
247
cd "$INSTALLER_DIR"
248

    
249
if [ -f  "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" ] ; then
250
	rm -f "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP"
251
fi
252
"$DIR_BASE"/launcher/7z/7za a -r "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" *
253
cd -
254
sed "s/%TITLE%/$APPNAME-$BRIEFVERSION\_$BUILDNUMBER/" ../launcher/7z/dist_config.txt > dist_config.txt
255
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXE"
256

    
257
### paquete con los instalables de JRE, Jai y Jai i/o
258
"$DIR_BASE"/launcher/7z/7za a "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" "$DIR_BASE"/"$DIR_WIN"/jre_installers/*.exe
259
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXEWITHJRE"
260

    
261
###
262

    
263

    
264
rm dist_config.txt
265
rm "$WINDOWSZIP"
266

    
267
rm -Rf "$INSTALLER_DIR"
268

    
269
mv "$WINDOWSEXE" "$OUTPUT_DIR"
270
mv "$WINDOWSEXEWITHJRE" "$OUTPUT_DIR"
271

    
272
# Limpiamos tmpResources
273
cd "$DIR_BASE"/"$DIR_WIN"
274
rm -r ./tmpResources
275
cd -
276

    
277

    
278
## Para Mac
279
echo "- Mac"
280
if type ant 2>/dev/null >/dev/null; then
281
	cd "$DIR_BASE"/"$DIR_MAC"	
282
	if ant -Dbuild.number="$BUILDNUMBER" -f build.xml; then
283
		zip -r "$MAC_10_ZIP" gvSIG*.app
284
		rm -r gvSIG*.app
285
		mv "$MAC_10_ZIP" "$OUTPUT_DIR"
286
	else
287
		echo "No se ha generado el paquete para Mac 10.3 . Compruebe que su ant tiene jarbundler instalado"
288
	fi		
289

    
290
else
291
    echo "No se ha encontrado el ant en el path de ejecucion: 
292
    Es necesario para poder generar la distribucion para el Mac. 
293
    
294
    Nota: debemos tener tambien incluido en el ANT_HOME/lib el 
295
    jar jarbundler-1.9.jar que se puede encontrar en http://jarbundler.sourceforge.net/
296
    "
297
fi
298
cd "$DIR_BASE"