2 # vim: set softtabstop=4 tabstop=4
4 ################# Funciones ###########################
6 # Devuelve 0 si la ruta fue cambiada y 1 si quedo por defecto
7 function cambiaruta() {
9 echo "Nombre del directorio $1 es: ($2)"
10 echo "Si desea modificarlo ingrese la ruta completa deseada y luego presione ENTER"
11 echo "de lo contrario presione ENTER."
14 if [ -n "$DIRSELECTED" ]; then
21 # Devuelve 0 si el script y el OS matchean, 1 otherwise
23 if echo $0 | egrep -q 'AFINSTAL$'; then
26 if echo $0 | egrep -q 'AFINSTAM$'; then
29 if echo $0 | egrep -q 'AFINSTAW$'; then
33 if [ "$SISOPTP" != "$SCRIPTOS" ]; then
37 Este proceso de instalacion es para $SISOPTP y su sistema operativo
38 es $CURSIS. Solicite a su proveedor la version adecuada e inicie
39 nuevamente el proceso de instalacion.
47 # Devuelve 0 si se encuentra Perl instalado, 1 otherwise
48 function checkPerl() {
49 if [ "perl" = "`type perl | sed s/\"perl is .*\"/\"perl\"/`" ]; then
53 >> Verificando la existencia de PERL .. FAILED!
56 "Este proceso de instalación solo puede ser"
57 "ejecutado si Perl 5 o superior ya esta instalado"
59 "Efectúe a instalación de Perl"
60 "e inicie nuevamente el procedimiento de instalación."
66 # Permite seleccionar que componentes se instalaran
67 function selectModules() {
68 PS3="Seleccione un componente:"
69 choices="AFIMONIO AFICONF ANTIFRAUDE"
72 while [ "$key" = "S" ] && [ -n "$choices" ]
77 ***********************************************************
78 * SELECCION de COMPONENTES *
79 * Por favor seleecione los componentes a ser instalados *
80 * de a uno por vez, a traves del siguiente menu: *
81 ***********************************************************
82 >> Se instalaran: $toinstall
85 select REPLY in $choices
88 "AFIMONIO" ) selected="AFIMONIO";;
89 "AFICONF" ) selected="AFICONF";;
90 "ANTIFRAUDE" ) selected="ANTIFRAUDE";;
91 * ) selected="INVALID";;
96 if [ $selected != "INVALID" ]; then
97 choices=`echo $choices | sed s/$selected//`
98 if [ -z "$toinstall" ]; then toinstall=$selected
99 else toinstall="$toinstall,$selected"
102 if [ -n "$choices" ]; then
104 echo "Se instalara [$selected], si desea seleccionar"
105 echo "otro componente presione \"S\" y luego ENTER, de lo contrario"
106 echo "presione solo ENTER para comenzar a instalar los componentes"
108 if [ "$key" = "s" ]; then key="S"
113 if [ -n "$key" ]; then echo
116 ***********************************************************
117 * La seleccion de componentes ha finalizado. Se procedera *
118 * con la instalacion. *
119 ***********************************************************
120 Componentes a instalar: [ $toinstall ]
124 ################### MAIN SCRIPT CODE ###################
128 # [STEP1] Verifico el OS vs SCRIP y la presencia de PERL
129 echo ">> Verificando version del software contra el OS.."
131 if [ "$?" -ne 0 ]; then exit 1
133 echo ">> Verificando la existencia de PERL.."
135 if [ "$?" -ne 0 ]; then exit 1
137 echo ">> Proceso de instalacion para $SISOPTP iniciado."
138 echo ">> Presione ENTER para continuar"
141 # [STEP2] License Agreements
143 ***************************************************************
145 * Proceso de instalacion de "Antifraude" *
146 * Copyright TPSistemasOp (c) 2004 *
148 ***************************************************************
149 A T E N C I O N: Al instalar Antifraude UD. expresa estar
150 en un todo de acuerdo con los terminos y condiciones del
151 ACUERDO DE LICENCIA DE SOFTWARE incluido en este paquete.
153 Si desea cancelar este proceso oprima 'F' y luego ENTER.
154 Para continuar oprima ENTER.
157 while [ "$key" != "" ]; do
159 if [ "$key" = "F" ]; then
160 echo ">> Proceso de instalacion cancelado"
165 # [STEP3] Chequeamos si hay componentes ya instalados
166 if [ -f "./conf/afinstal.conf" ]; then
167 #busco paquetes instalados. Leo afinstal.conf para ver que hay
168 #como el archivo existe, tiene que tener alguna info almacenada..
169 instdir=`cat $afinstal | grep -n INSTDIR | grep 1 | sed s/\.\*\=\ //`
170 confdir=`cat $afinstal | grep -n CONFDIR | grep 2 | sed s/\.\*\=\ //`
176 bindir=`cat $afinstal | grep -n BINDIR | grep 11 | sed s/\.\*\=\ //`
177 logdir=`cat $afinstal | grep -n LOGDIR | grep 12 | sed s/\.\*\=\ //`
178 logname=`cat $afinstal | grep -n LOGNAME | grep 13 | sed s/\.\*\=\ //`
179 logsize=`cat $afinstal | grep -n BINDIR | grep 14 | sed s/\.\*\=\ //`
181 # Si habia algo instalado, la informacion del los directorios quedo
182 # almacenada, pues es igual para todos los scripts. Excepto el directorio de
183 # datos para antifraude.
184 if [ ! -f "$bindir""antifraude.pl" ]; then
185 #instalo antifraude porque no existe
186 echo "Instalando Antifraude..."
188 cp "$instdir/antifraude.pl" "$bindir/antifraude.pl"
190 if [ ! -f "$bindir""aficonf" ]; then
191 #instalo aficonf porque no existe
192 echo "Instalando Aficonf..."
194 cp "$instdir/aficonf" "$bindir/aficonf"
196 if [ ! -f "$bindir""afimonio" ]; then
197 #instalo afimonio porque no existe
198 echo "Instalando Afimonio..."
200 cp "$instdir/afimonio" "$bindir/afimonio"
203 #hay que loguear lo que se instalo
204 comp=$(($anti + $afic + $afim))
205 if [ $anti != 0 ]; then
206 echo "Ingrese la ruta completa para el directorio de datos"
208 while [ ! -d "$datadir" ]; do
209 echo "La ruta especificada no existe, ingrese un directorio existente"
212 echo "Ingrese tamaño máximo de datos"
215 cat "$confdir/afinstal.conf" | sed "10s/.*/Comando antifraude.pl/" > "$confdir/afinstal.conf"
216 cat "$confdir/afinstal.conf" | sed "11s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
217 cat "$confdir/afinstal.conf" | sed "12s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
218 cat "$confdir/afinstal.conf" | sed "13s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
219 cat "$confdir/afinstal.conf" | sed "14s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
220 cat "$confdir/afinstal.conf" | sed "15s(.*(DATADIR = $datadir(" > "$confdir/afinstal.conf"
221 cat "$confdir/afinstal.conf" | sed "16s(.*(DATASIZE = $datasize(" > "$confdir/afinstal.conf"
222 cat "$confdir/afinstal.conf" | sed "17s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
223 cat "$confdir/afinstal.conf" | sed "18s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
225 if [ $afic != 0 ]; then
227 cat "$confdir/afinstal.conf" | sed "20s/.*/Comando aficonf/" > "$confdir/afinstal.conf"
228 cat "$confdir/afinstal.conf" | sed "21s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
229 cat "$confdir/afinstal.conf" | sed "22s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
230 cat "$confdir/afinstal.conf" | sed "23s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
231 cat "$confdir/afinstal.conf" | sed "24s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
232 cat "$confdir/afinstal.conf" | sed "25s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
233 cat "$confdir/afinstal.conf" | sed "26s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
235 if [ $afim != 0 ]; then
237 cat "$confdir/afinstal.conf" | sed "30s/.*/Comando afimonio/" > "$confdir/afinstal.conf"
238 cat "$confdir/afinstal.conf" | sed "31s(.*(BINDIR = $bindir(" > "$confdir/afinstal.conf"
239 cat "$confdir/afinstal.conf" | sed "32s(.*(LOGDIR = $logdir(" > "$confdir/afinstal.conf"
240 cat "$confdir/afinstal.conf" | sed "33s(.*(LOGNAME = $logname(" > "$confdir/afinstal.conf"
241 cat "$confdir/afinstal.conf" | sed "34s(.*(LOGSIZE = $logsize(" > "$confdir/afinstal.conf"
242 cat "$confdir/afinstal.conf" | sed "35s(.*(USERID = $USER(" > "$confdir/afinstal.conf"
243 cat "$confdir/afinstal.conf" | sed "36s(.*(FECINS = $fecha(" > "$confdir/afinstal.conf"
245 if [ $comp == 0 ]; then
248 fecha1=`cat $afinstal | grep -n FECINS | grep 18 | sed s/\.\*\=\ //`
249 fecha2=`cat $afinstal | grep -n FECINS | grep 26 | sed s/\.\*\=\ //`
250 fecha3=`cat $afinstal | grep -n FECINS | grep 36 | sed s/\.\*\=\ //`
251 usu1=`cat $afinstal | grep -n USERID | grep 17 | sed s/\.\*\=\ //`
252 usu2=`cat $afinstal | grep -n USERID | grep 25 | sed s/\.\*\=\ //`
253 usu3=`cat $afinstal | grep -n USERID | grep 35 | sed s/\.\*\=\ //`
256 ***************************************************************
257 * Se encuentran instalados los siguientes componentes: *
258 * Antifraude.pl instalado el $fecha1 por $usu1 *
259 * Aficonf instalado el $fecha2 por $usu2 *
260 * Antifraude.pl instalado el $fecha3 por $usu3 *
262 * Copyright TPSistemasOp (c) 2004 *
263 ***************************************************************
265 Proceso de instalación cancelado.
271 # [STEP4] Seleecion de los componentes a instalar
272 # TODO: tener en cuenta los que ya estan
276 # [STEP5] Verifico que perl este instalado
278 #defino los paths de configuracion e instalacion
280 CONFDIR="${CURDIR}/conf"
281 INSTDIR="${CURDIR}/inst"
282 #creo el afinstal.conf y le agrego las 2 primeras lineas
283 echo "INSTDIR = $INSTDIR" >> "$CONFDIR/afinstal.conf"
284 echo "CONFDIR = $CONFDIR" >> "$CONFDIR/afinstal.conf"
287 echo "" >> "$CONFDIR/afinstal.conf"
292 for comando in antifraude.pl afimonio aficonf ; do
294 while [ -n "$op" ]; do
295 #Almance el path actual
296 BINDIR="${CURDIR}/bin"
297 DATADIR="${CURDIR}/llamadas"
298 LOGDIR="${CURDIR}/log"
300 echo "La ruta del directorio de instalación es: ($INSTDIR)"
301 echo "La ruta del directorio de configuración es: ($CONFDIR)"
302 echo "La ruta del directorio de ejecutables es: ($BINDIR)"
304 if cambiaruta "ejecutables" $BINDIR ; then
307 if cambiaruta "de datos" $DATADIR ; then
310 if cambiaruta "de log" $LOGDIR ; then
313 echo "Nombre del archivo de log: (${comando}.log)"
314 echo "Si desea conservar este nombre presione ENTER, de lo "
315 echo "contrario ingrese un nuevo nombre y luego ENTER"
317 if [ -z "$logname" ]; then
318 LOGNAME="${comando}.log"
320 echo "Tamaño máximo para el archivo <$LOGNAME> (Mb): 20Mb"
321 echo "Si desea conservar este valor presione ENTER, de lo "
322 echo "contrario ingrese un nuevo valor y luego ENTER"
324 if [ -z "$LOGSIZE" ]; then
329 " Parametros de instalación de $comando "
330 " ========================================== "
331 " Nombre del directorio de instalación: $INSTDIR "
332 " Nombre del directorio de ejecutables: $BINDIR "
333 " Nombre del directorio de datos: $DATADIR "
334 " Nombre del directorio de configuración: $CONFDIR "
335 " Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME"
336 " Tamaño máximo para el archivo de log: $LOGSIZE "
338 Si los datos ingresados son correctos oprima solamente ENTER, si desea
339 modificar alguno de ellos oprima cualquier otra tecla y luego ENTER.
343 echo "Si desea iniciar la instalación de <$comando>, oprima"
344 echo "solamente ENTER, si desea cancelar el proceso oprima"
345 echo "cualquier otra tecla y luego ENTER."
349 if [ -n "$op" ]; then
350 echo "Proceso de instalación cancelado"
354 # Cremos los directorios para este comando
355 echo "Creando Estructura de Directorio...."
358 mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas}
360 touch $LOGDIR/$LOGNAME
361 echo "Moviendo Archivos....."
362 cp $INSTDIR/$comando $BINDIR
363 #cp $INSTDIR/umbrales.param $CONFDIR
364 #cp $INSTDIR/*.data $DATADIR/aprocesar
366 numlinea=$(($linea+$i))
367 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf"
369 numlinea=$(($linea+$i))
370 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
372 numlinea=$(($linea+$i))
373 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
375 numlinea=$(($linea+$i))
376 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
378 numlinea=$(($linea+$i))
379 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
380 if [ "$FILE" = "antifraude.pl" ]; then
382 numlinea=$(($linea+$i))
383 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
385 numlinea=$(($linea+$i))
386 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
389 numlinea=$(($linea+$i))
390 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
392 numlinea=$(($linea+$i))
393 cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
398 # Termino la instalacion, muestro informacion.
400 echo " ***************************************************************** "
401 echo " * Proceso de instalacion concluido * "
402 comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando `
403 for i in 17 25 35 ; do
405 fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'`
407 usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'`