Statistics
| Revision:

root / trunk / install / distribucion.sh @ 6968

History | View | Annotate | Download (8.48 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
WINDOWSZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-windows-i586.7z
40
LINUXZIP="$APPNAME"-"$BRIEFVERSION"\_"$BUILDNUMBER"-linux-i586.tgz
41

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

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

    
48
#Directorios
49
#OUTPUT_DIR=/mnt/sercartlin/grupo-sig-ca/Testing/Versiones/v"$FULLVERSION"\_"$BUILDNUMBER"
50
OUTPUT_DIR="$TARGET_DIR"/v"$FULLVERSION"\_"$BUILDNUMBER"
51
PATH_SOURCE_EXT=../_fwAndami/gvSIG/extensiones
52
PATH_SOURCE_MANDAT_EXT=../../../../../_fwAndami/gvSIG/extensiones
53

    
54

    
55
echo "*****************"
56
echo "      BASE       "
57
echo "*****************"
58
# Para Linux
59
echo -n "$DIR_BASE"/"$DIR_LIN" "-- "
60
cd "$DIR_BASE"/"$DIR_LIN"
61
rm bin -rf
62
mkdir -p bin/gvSIG/extensiones
63
cp installer_files/LEEME installer_files/LLIG-ME installer_files/README bin
64
cp resources/gpl.txt bin
65
# 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
ln -s ../../../_fwAndami/andami.jar bin/
76
#cp resources/andami-config.xml bin
77
echo OK.
78

    
79

    
80
# Para Windows
81
echo -n "$DIR_BASE"/"$DIR_WIN" "-- "
82
cd "$DIR_BASE"/"$DIR_WIN"
83
rm bin -rf
84
mkdir -p bin/gvSIG/extensiones
85
cp installer_files/LEEME.txt installer_files/LLIG-ME.txt installer_files/README.txt bin
86
cp resources/gpl.txt bin
87
# 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
ln -s ../../../_fwAndami/andami.jar bin
98
#cp resources/andami-config.xml bin
99
echo OK.
100

    
101
# Estas extensiones se copian directamente al directorio destino, ya que no vamos a dar
102
# opcion a no instalarlas, son obligatorias
103
cd $DIR_BASE
104
i=0
105
while [ ! -z ${MANDATORY_EXTENSIONS[$i]} ] 
106
do
107
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
108
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_LIN"/bin/gvSIG/extensiones
109
  echo ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
110
  ln -s "$PATH_SOURCE_MANDAT_EXT"/${MANDATORY_EXTENSIONS[$i]} "$DIR_WIN"/bin/gvSIG/extensiones
111
  i=`expr $i + 1`
112
done
113

    
114

    
115
echo "*****************"
116
[ $LOC = "es" ] && echo "   EXTENSIONES   "
117
[ $LOC != "es" ] && echo "   EXTENSIONS   "
118
echo "*****************"
119

    
120
rm -rf $DIR_LIN/extensiones
121
mkdir $DIR_LIN/extensiones
122
rm -rf $DIR_WIN/extensiones
123
mkdir $DIR_WIN/extensiones
124

    
125
i=0
126
while [ ! -z ${EXTENSIONS[$i]} ] 
127
do
128
  [ $LOC = "es" ] && echo "Copiando "${EXTENSIONS[$i]}
129
  [ $LOC != "es" ] && echo "Copying "${EXTENSIONS[$i]}
130
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
131
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_LIN"/extensiones -rf
132
  echo cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
133
  cp "$PATH_SOURCE_EXT"/${EXTENSIONS[$i]} "$DIR_WIN"/extensiones -rf
134
  i=`expr $i + 1`
135
done
136

    
137

    
138
echo "*****************"
139
echo "    INST-WIN     "
140
echo "*****************"
141
# Generar el instalador (jar) para windows
142
cd "$DIR_BASE"/"$DIR_WIN"
143
rm "$JARNAME" -f
144
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
145

    
146
echo "*****************"
147
echo "    INST-LIN     "
148
echo "*****************"
149
# Generar el instalador (jar) para Linux
150
cd "$DIR_BASE"/"$DIR_LIN"
151
rm "$JARNAME" -f
152
ant -DJARNAME="$JARNAME" -DGVSIG_VERSION="$GVSIG_VERSION" -DAPPNAME="$APPNAME"
153

    
154

    
155
echo "******************"
156
[ $LOC = "es" ] && echo " GENERAR DISTRIB "
157
[ $LOC != "es" ] && echo " GENERATE DISTRIB "
158
echo "******************"
159
# Generar el tar.gz para Linux y el EXE para Windows
160

    
161
mkdir -p "$OUTPUT_DIR"
162
echo "- Linux"
163
## Para Linux
164
cd "$DIR_BASE"/"$DIR_LIN"
165
rm -Rf "$INSTALLER_DIR"
166
cp -a installer_files "$INSTALLER_DIR"
167
rm -R "$INSTALLER_DIR"/CVS 2> /dev/null && true
168
# Set the correct version number in the scripts and files
169
if [ -f  "$INSTALLER_DIR"/install.sh ] ; then
170
  sed "s/JARNAME/$JARNAME/" "$INSTALLER_DIR"/install.sh > "$INSTALLER_DIR"/install.sh.bak
171
  mv "$INSTALLER_DIR"/install.sh.bak "$INSTALLER_DIR"/install.sh ;
172
  chmod +x "$INSTALLER_DIR"/install.sh
173
fi
174
#mv "$JARNAME" "$INSTALLER_DIR"
175
cp "$JARNAME" "$INSTALLER_DIR"
176
tar -cvzf "$LINUXZIP" "$INSTALLER_DIR"
177
rm -Rf "$INSTALLER_DIR"
178
mv "$LINUXZIP" "$OUTPUT_DIR"
179

    
180
## Nueva instalacion para linux
181
cd "$DIR_BASE"/"$DIR_LIN"
182
rm -Rf "$INSTALLER_DIR"
183
mkdir -p "$INSTALLER_DIR"/tmp_gvSIGInstall
184
cp "$JARNAME" "$INSTALLER_DIR"/tmp_gvSIGInstall
185
cd "$INSTALLER_DIR"
186
cp -R "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/dist/* ./tmp_gvSIGInstall
187
find . -name CVS -type d -exec rm -rf {} 2> /dev/null ';' || true
188
if [ -f  ./tmp_gvSIGInstall/launcher.ini ] ; then
189
  sed "s/%JARNAME%/$JARNAME/" ./tmp_gvSIGInstall/launcher.ini > ./tmp_gvSIGInstall/launcher.ini.bak
190
  mv ./tmp_gvSIGInstall/launcher.ini.bak ./tmp_gvSIGInstall/launcher.ini;
191
fi
192
tar -cvzf ./tmp.tgz ./tmp_gvSIGInstall
193
cp "$DIR_BASE"/"$DIR_LIN"/jre/*.gz ./tmp_gvSIGInstall
194
tar -cvzf ./tmp_wjre.tgz ./tmp_gvSIGInstall
195
echo '#!/bin/sh' > xx.tmp
196
lcount=`cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh | wc -l`
197
lcount=$(($lcount+2)) # sumamos dos: no por la linea siguiente y otro para el inicio
198
echo "lcount=$lcount" >> xx.tmp
199
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp.tgz  > "$LINUXBIN"
200
cat xx.tmp "$DIR_BASE"/launcher/izpack-launcher-1.3_linux/h_gvSIG-install.sh ./tmp_wjre.tgz  > "$LINUXBINWITHJRE"
201
rm xx.tmp
202
chmod a+x "$LINUXBIN" "$LINUXBINWITHJRE"
203
mv "$LINUXBINWITHJRE" "$LINUXBIN" "$OUTPUT_DIR"
204
cd "$DIR_BASE"/"$DIR_LIN"
205
rm -Rf "$INSTALLER_DIR"
206
## Fin Nueva instalacion para linux
207
rm "$JARNAME"
208

    
209

    
210

    
211
 
212
## Para Windows
213
echo "- Windows"
214
#set -x
215
cd "$DIR_BASE"/"$DIR_WIN"
216
rm -Rf "$INSTALLER_DIR"
217
cp -a installer_files "$INSTALLER_DIR"
218

    
219
cp -aR ../launcher/izpack-launcher-1.3/dist/* "$INSTALLER_DIR"
220
rm -f "$INSTALLER_DIR"/install.bat
221

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

    
224
## hacemos las sustituciones de la variable
225
if [ -f  "$INSTALLER_DIR"/launcher.ini ] ; then
226
  sed "s/%JARNAME%/$JARNAME/" "$INSTALLER_DIR"/launcher.ini > "$INSTALLER_DIR"/launcher.ini.bak
227
  mv "$INSTALLER_DIR"/launcher.ini.bak "$INSTALLER_DIR"/launcher.ini;
228
fi
229

    
230
mv "$JARNAME" "$INSTALLER_DIR"
231
cd "$INSTALLER_DIR"
232

    
233
if [ -f  "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" ] ; then
234
	rm -f "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP"
235
fi
236
"$DIR_BASE"/launcher/7z/7za a -r "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" *
237
cd -
238
sed "s/%TITLE%/$APPNAME-$BRIEFVERSION\_$BUILDNUMBER/" ../launcher/7z/dist_config.txt > dist_config.txt
239
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXE"
240

    
241
### paquete con los instalables de JRE, Jai y Jai i/o
242
"$DIR_BASE"/launcher/7z/7za a "$DIR_BASE"/"$DIR_WIN"/"$WINDOWSZIP" "$DIR_BASE"/"$DIR_WIN"/jre_installers/*
243
cat ../launcher/7z/7zS.sfx  dist_config.txt "$WINDOWSZIP" > "$WINDOWSEXEWITHJRE"
244

    
245
### 
246

    
247

    
248
rm dist_config.txt
249
#rm "$WINDOWSZIP"
250

    
251
rm -Rf "$INSTALLER_DIR"
252

    
253
mv "$WINDOWSEXE" "$OUTPUT_DIR"
254
mv "$WINDOWSEXEWITHJRE" "$OUTPUT_DIR"