Statistics
| Revision:

svn-gvsig-desktop / trunk / install / distribucion.sh @ 7334

History | View | Annotate | Download (8.83 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 6088 jmvivo
WINDOWSZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.7z
40 5841 cesar
LINUXZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.tgz
41
42 6853 jmvivo
LINUXBIN="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.bin
43
LINUXBINWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586-withjre.bin
44
45 6088 jmvivo
WINDOWSEXE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.exe
46 6853 jmvivo
WINDOWSEXEWITHJRE="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586-withjre.exe
47 6088 jmvivo
48 4679 cesar
#Directorios
49 5841 cesar
#OUTPUT_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/v"$FULLVERSION"\_"$BUILDNUMBER"
50
OUTPUT_DIR="$TARGET_DIR"/v"$FULLVERSION"\_"$BUILDNUMBER"
51 4696 cesar
PATH_SOURCE_EXT=../_fwAndami/gvSIG/extensiones
52
PATH_SOURCE_MANDAT_EXT=../../../../../_fwAndami/gvSIG/extensiones
53 4679 cesar
54 4692 cesar
55 4679 cesar
echo "*****************"
56 4692 cesar
echo "      BASE       "
57 4679 cesar
echo "*****************"
58 6088 jmvivo
# Para Linux
59 4696 cesar
echo -n "$DIR_BASE"/"$DIR_LIN" "-- "
60 4692 cesar
cd "$DIR_BASE"/"$DIR_LIN"
61
rm bin -rf
62
mkdir -p bin/gvSIG/extensiones
63 5841 cesar
cp installer_files/LEEME installer_files/LLIG-ME installer_files/README bin
64 4696 cesar
cp resources/gpl.txt bin
65 4789 cesar
# No enlazamos directamente el directorio lib para no incluir el directorio CVS
66
mkdir -p bin/lib
67
cd "$DIR_BASE"/"$DIR_LIN"/bin/lib
68
for i in ../../../../_fwAndami/lib/*.jar ; do
69
  ln -s "$i" .
70
done
71
for i in ../../../../_fwAndami/lib/*.zip ; do
72
  ln -s "$i" .
73
done
74
cd "$DIR_BASE"/"$DIR_LIN"
75 4696 cesar
ln -s ../../../_fwAndami/andami.jar bin/
76 6968 cesar
#cp resources/andami-config.xml bin
77 4696 cesar
echo OK.
78
79 5841 cesar
80 6088 jmvivo
# Para Windows
81 4696 cesar
echo -n "$DIR_BASE"/"$DIR_WIN" "-- "
82
cd "$DIR_BASE"/"$DIR_WIN"
83
rm bin -rf
84
mkdir -p bin/gvSIG/extensiones
85 5841 cesar
cp installer_files/LEEME.txt installer_files/LLIG-ME.txt installer_files/README.txt bin
86 4696 cesar
cp resources/gpl.txt bin
87 4789 cesar
# No enlazamos directamente el directorio lib para no incluir el directorio CVS
88
mkdir -p bin/lib
89
cd "$DIR_BASE"/"$DIR_WIN"/bin/lib
90
for i in ../../../../_fwAndami/lib/*.jar ; do
91
  ln -s "$i" .
92
done
93
for i in ../../../../_fwAndami/lib/*.zip ; do
94
  ln -s "$i" .
95
done
96
cd "$DIR_BASE"/"$DIR_WIN"
97 4696 cesar
ln -s ../../../_fwAndami/andami.jar bin
98 6968 cesar
#cp resources/andami-config.xml bin
99 7334 jmvivo
100
#Copiamos el lanzador y sus tracuciones al tmpResources
101
mkdir tmpResources
102
cp -R ../launcher/izpack-launcher-1.3/dist/* ./tmpResources
103
mv ./tmpResources/launcher-Win32.exe ./tmpResources/gvSIG.exe
104
#Quitamos el ini, manifest y los CVS
105
rm ./tmpResources/*.ini ./tmpResources/*.manifest
106
find ./tmpResources -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
107 4696 cesar
echo OK.
108
109 4692 cesar
# Estas extensiones se copian directamente al directorio destino, ya que no vamos a dar
110
# opcion a no instalarlas, son obligatorias
111 6972 jaume
cd "$DIR_BASE"
112 4692 cesar
i=0
113 6972 jaume
while [ ! -z ${MANDATORY_EXTENSIONS[$i]} ]
114 4692 cesar
do
115 5841 cesar
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
116 4696 cesar
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
117 5841 cesar
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
118 4696 cesar
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
119 4692 cesar
  i=`expr $i + 1`
120
done
121 4679 cesar
122
123 4692 cesar
echo "*****************"
124
[ $LOC = "es" ] && echo "   EXTENSIONES   "
125
[ $LOC != "es" ] && echo "   EXTENSIONS   "
126
echo "*****************"
127 4679 cesar
128 5146 cesar
rm -rf $DIR_LIN/extensiones
129
mkdir $DIR_LIN/extensiones
130
rm -rf $DIR_WIN/extensiones
131
mkdir $DIR_WIN/extensiones
132 4692 cesar
133 4679 cesar
i=0
134 6972 jaume
while [ ! -z ${EXTENSIONS[$i]} ]
135 4679 cesar
do
136 4692 cesar
  [ $LOC = "es" ] && echo "Copiando "${EXTENSIONS[$i]}
137
  [ $LOC != "es" ] && echo "Copying "${EXTENSIONS[$i]}
138 5841 cesar
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
139 5146 cesar
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
140 5841 cesar
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
141 5146 cesar
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
142 4692 cesar
  i=`expr $i + 1`
143 4679 cesar
done
144
145 4692 cesar
146 4679 cesar
echo "*****************"
147
echo "    INST-WIN     "
148
echo "*****************"
149 4692 cesar
# Generar el instalador (jar) para windows
150
cd "$DIR_BASE"/"$DIR_WIN"
151 5841 cesar
rm "$JARNAME" -f
152
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
153 4679 cesar
154
echo "*****************"
155
echo "    INST-LIN     "
156
echo "*****************"
157 4692 cesar
# Generar el instalador (jar) para Linux
158
cd "$DIR_BASE"/"$DIR_LIN"
159 5841 cesar
rm "$JARNAME" -f
160
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
161 4679 cesar
162 5841 cesar
163 4701 cesar
echo "******************"
164
[ $LOC = "es" ] && echo " GENERAR DISTRIB "
165
[ $LOC != "es" ] && echo " GENERATE DISTRIB "
166
echo "******************"
167 6088 jmvivo
# Generar el tar.gz para Linux y el EXE para Windows
168 4679 cesar
169 5841 cesar
mkdir -p "$OUTPUT_DIR"
170 6098 jmvivo
echo "- Linux"
171 5841 cesar
## Para Linux
172 4696 cesar
cd "$DIR_BASE"/"$DIR_LIN"
173 5841 cesar
rm -Rf "$INSTALLER_DIR"
174
cp -a installer_files "$INSTALLER_DIR"
175
rm -R "$INSTALLER_DIR"/CVS 2> /dev/null && true
176
# Set the correct version number in the scripts and files
177
if [ -f  "$INSTALLER_DIR"/install.sh ] ; then
178
  sed "s/JARNAME/$JARNAME/" "$INSTALLER_DIR"/install.sh > "$INSTALLER_DIR"/install.sh.bak
179
  mv "$INSTALLER_DIR"/install.sh.bak "$INSTALLER_DIR"/install.sh ;
180
  chmod +x "$INSTALLER_DIR"/install.sh
181
fi
182 6853 jmvivo
#mv "$JARNAME" "$INSTALLER_DIR"
183
cp "$JARNAME" "$INSTALLER_DIR"
184 5841 cesar
tar -cvzf "$LINUXZIP" "$INSTALLER_DIR"
185
rm -Rf "$INSTALLER_DIR"
186
mv "$LINUXZIP" "$OUTPUT_DIR"
187 4679 cesar
188 6853 jmvivo
## Nueva instalacion para linux
189
cd "$DIR_BASE"/"$DIR_LIN"
190
rm -Rf "$INSTALLER_DIR"
191
mkdir -p "$INSTALLER_DIR"/tmp_gvSIGInstall
192
cp "$JARNAME" "$INSTALLER_DIR"/tmp_gvSIGInstall
193
cd "$INSTALLER_DIR"
194
cp -R "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/dist/* ./tmp_gvSIGInstall
195
find . -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
196 7334 jmvivo
197
sed "s/%JARNAME%/$JARNAME/" ./tmp_gvSIGInstall/launcher.ini > ./tmp_gvSIGInstall/launcher.ini.bak
198
mv ./tmp_gvSIGInstall/launcher.ini.bak ./tmp_gvSIGInstall/launcher.ini;
199
200 6853 jmvivo
tar -cvzf ./tmp.tgz ./tmp_gvSIGInstall
201 6898 cesar
cp "$DIR_BASE"/"$DIR_LIN"/jre/*.gz ./tmp_gvSIGInstall
202 6853 jmvivo
tar -cvzf ./tmp_wjre.tgz ./tmp_gvSIGInstall
203
echo '#!/bin/sh' > xx.tmp
204
lcount=`cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh | wc -l`
205 7146 cesar
lcount=$(($lcount+2)) # sumamos dos: uno por la linea siguiente y otro para el inicio
206 6853 jmvivo
echo "lcount=$lcount" >> xx.tmp
207
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp.tgz  > "$LINUXBIN"
208
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp_wjre.tgz  > "$LINUXBINWITHJRE"
209
rm xx.tmp
210
chmod a+x "$LINUXBIN" "$LINUXBINWITHJRE"
211
mv "$LINUXBINWITHJRE" "$LINUXBIN" "$OUTPUT_DIR"
212
cd "$DIR_BASE"/"$DIR_LIN"
213
rm -Rf "$INSTALLER_DIR"
214
## Fin Nueva instalacion para linux
215
rm "$JARNAME"
216
217
218
219 6972 jaume
220 5841 cesar
## Para Windows
221 6098 jmvivo
echo "- Windows"
222
#set -x
223 4692 cesar
cd "$DIR_BASE"/"$DIR_WIN"
224 5841 cesar
rm -Rf "$INSTALLER_DIR"
225
cp -a installer_files "$INSTALLER_DIR"
226 6088 jmvivo
227
cp -aR ../launcher/izpack-launcher-1.3/dist/* "$INSTALLER_DIR"
228
rm -f "$INSTALLER_DIR"/install.bat
229
230 6098 jmvivo
find "$INSTALLER_DIR" -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
231 6088 jmvivo
232
## hacemos las sustituciones de la variable
233 7334 jmvivo
sed "s/%JARNAME%/$JARNAME/" "$INSTALLER_DIR"/launcher-Win32.ini > "$INSTALLER_DIR"/launcher-Win32.ini.bak
234
mv "$INSTALLER_DIR"/launcher-Win32.ini.bak "$INSTALLER_DIR"/launcher-Win32.ini;
235 6088 jmvivo
236 7334 jmvivo
237 5841 cesar
mv "$JARNAME" "$INSTALLER_DIR"
238 6088 jmvivo
cd "$INSTALLER_DIR"
239
240
if [ -f  "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" ] ; then
241
	rm -f "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP"
242
fi
243
"$DIR_BASE"/launcher/7z/7za a -r "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" *
244
cd -
245
sed "s/%TITLE%/$APPNAME-$BRIEFVERSION\_$BUILDNUMBER/" ../launcher/7z/dist_config.txt > dist_config.txt
246
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXE"
247 6853 jmvivo
248
### paquete con los instalables de JRE, Jai y Jai i/o
249 7334 jmvivo
"$DIR_BASE"/launcher/7z/7za a "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" "$DIR_BASE"/"$DIR_WIN"/jre_installers/*.exe
250 6853 jmvivo
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXEWITHJRE"
251
252 6972 jaume
###
253 6853 jmvivo
254
255 6088 jmvivo
rm dist_config.txt
256 7146 cesar
rm "$WINDOWSZIP"
257 6088 jmvivo
258 5841 cesar
rm -Rf "$INSTALLER_DIR"
259 6088 jmvivo
260
mv "$WINDOWSEXE" "$OUTPUT_DIR"
261 6853 jmvivo
mv "$WINDOWSEXEWITHJRE" "$OUTPUT_DIR"
262 7334 jmvivo
263
# Limpiamos tmpResources
264
cd "$DIR_BASE"/"$DIR_WIN"
265
rm -r ./tmpResources
266
cd -