#!/bin/bash
+# vim: set softtabstop=4 tabstop=4
# variables de entorno
#echo "editor "$EDITOR
#echo "env "$ENV
#echo "term "$TERM
#echo "time out" $TMOUT
+#Includes
+. util.sh
+
# chequeo sistema operativo
echo "Chequeando SO ..."
if [ -z "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then
echo "Proceso de instalación para $SISOPTP"
echo "Presione ENTER para continuar"
fi
-opcion="a"
-while [ -n "$opcion" ]; do
- echo "*******************************************************"
- echo "* *"
- echo "* Proceso de instalación de \"Antifraude\" *"
- echo "* Copyright TPSistemasOp (c)2004 *"
- echo "* *"
- echo "*******************************************************"
- echo "A T E N C I O N: Al instalar Antifraude UD. expresa estar"
- echo "en un todo de acuerdo con los términos y condiciones del"
- echo "\"ACUERDO DE LICENCIA DE SOFTWARE\" incluido en este paquete"
- echo ""
- echo "Si desea cancelar este proceso oprima 'F' y luego ENTER"
- echo "Para continuar oprima solamente ENTER"
- read opcion
- if [ "$opcion" == "F" ] || [ "$opcion" == "f" ]; then
- echo "Proceso de instalación cancelado"
- exit 0
- fi
-done
+
+echo "*******************************************************"
+echo "* *"
+echo "* Proceso de instalación de \"Antifraude\" *"
+echo "* Copyright TPSistemasOp (c)2004 *"
+echo "* *"
+echo "*******************************************************"
+echo "A T E N C I O N: Al instalar Antifraude UD. expresa estar"
+echo "en un todo de acuerdo con los términos y condiciones del"
+echo "\"ACUERDO DE LICENCIA DE SOFTWARE\" incluido en este paquete"
+echo ""
+echo "Si desea cancelar este proceso oprima 'F' y luego ENTER"
+echo "Para continuar oprima 'C' y luego ENTER"
+
+preguntar "Su opción" "cCfF" opcion
+if [ "$opcion" == "F" ] || [ "$opcion" == "f" ]; then
+ echo "Proceso de instalación cancelado"
+ exit 0
+fi
#Verifico que Perl este instalado
if [ "esta" == "`type perl | sed s/\"perl is .*\"/\"esta\"/`" ]; then
INSTDIR=$PATH_GENERAL"/inst/"
CONFDIR=$PATH_GENERAL"/conf/"
BINDIR=$PATH_GENERAL"/bin/"
-op="s"
-while [ "$op" != "n" ]; do
- #muestro el directorio donde se instalara el sistema
- echo "Nombre del directorio de instalación ($INSTDIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
- read AUX1
- if [ ! -z $AUX1 ]; then
- INSTDIR="$PATH_GENERAL/$AUX1"
- fi
- echo "Nombre del directorio de configuración ($CONFDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
- read AUX2
- if [ ! -z $AUX2 ]; then
- CONFDIR="$PATH_GENERAL/$AUX2"
- fi
- echo "Nombre del directorio de ejecutables ($BINDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
- read AUX3
- if [ ! -z $AUX3 ]; then
- BINDIR="$PATH_GENERAL/$AUX3"
- fi
- echo "Desea volver a modificar?(s/n)"
- read op
-done
DATADIR=$PATH_GENERAL"/data"
LOGDIR=$PATH_GENERAL"/log"
LOGNAME="comando.log"
LOGSIZE=10
-op="s"
-while [ "$op" != "n" ]; do
- echo "Nombre del directorio de datos ($DATADIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
- read AUX4
- if [ ! -z $AUX4 ]; then
- DATADIR="$PATH_GENERAL/$AUX4"
- fi
- echo "Nombre del directorio de log ($LOGDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
- read AUX5
- if [ ! -z $AUX5 ]; then
- LOGDIR="$PATH_GENERAL/$AUX5"
- fi
- echo "Nombre del archivo de log ($LOGNAME), ingrese un nuevo nombre o ENTER para continuar: <nuevo nombre>"
- read AUX6
- if [ ! -z $AUX6 ]; then
- LOGNAME="$AUX6"
- fi
- echo "Tamaño máximo del archivo de log ($LOGSIZE) en MegaBytes, ingrese un nuevo tamaño o ENTER para continuar: <nuevo tamaño>"
- read AUX7
- if [ ! -z $AUX7 ]; then
- LOGSIZE="$AUX7"
- fi
- echo "Desea volver a modificar?(s/n)"
- read op
-done
-
-clear
-
-echo "\" PARAMETROS DE LA INSTALACION DE ANTIFRAUDE \""
-echo "\" ==========================================\""
-echo "\"Nombre del directorio de instalación: $INSTDIR\""
-echo "\"Nombre del directorio de ejecutables: $BINDIR\""
-echo "\"Nombre del directorio de datos: $DATADIR\""
-echo "\"Nombre del directorio de configuración: $CONFDIR\""
-echo "\"Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME\""
-echo "\"Tamaño máximo para el archivo de log: $LOGSIZE Mbytes\""
-echo "\"Si los datos son correctos oprima solamente ENTER, si desea modificar
-alguno de ellos oprima cualquier otra tecla y luego ENTER.\""
+again="s"
+while [ "$again" == "s" ]; do
+ op="s"
+ while [ "$op" == "s" ]; do
+ #muestro el directorio donde se instalara el sistema
+ #
+ # Asi queda mas corto ;-)
+ #
+ leer "Nombre del directorio de instalación" "$INSTDIR" INSTDIR
+
+ echo "Nombre del directorio de configuración ($CONFDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
+ read AUX2
+ if [ ! -z $AUX2 ]; then
+ CONFDIR="$PATH_GENERAL/$AUX2"
+ fi
+ echo "Nombre del directorio de ejecutables ($BINDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
+ read AUX3
+ if [ ! -z $AUX3 ]; then
+ BINDIR="$PATH_GENERAL/$AUX3"
+ fi
+ echo "Desea volver a modificar?(s para modificar, ENTER para continuar)"
+ read op
+done #fin de los primeros directorios
+ op="s"
+ while [ "$op" == "s" ]; do
+ echo "Nombre del directorio de datos ($DATADIR),ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
+ read AUX4
+ if [ ! -z $AUX4 ]; then
+ DATADIR="$PATH_GENERAL/$AUX4"
+ fi
+ echo "Nombre del directorio de log ($LOGDIR), ingrese una nueva ruta o ENTER para continuar: $PATH_GENERAL/<nueva ruta>"
+ read AUX5
+ if [ ! -z $AUX5 ]; then
+ LOGDIR="$PATH_GENERAL/$AUX5"
+ fi
+ echo "Nombre del archivo de log ($LOGNAME), ingrese un nuevo nombre o ENTER para continuar: <nuevo nombre>"
+ read AUX6
+ if [ ! -z $AUX6 ]; then
+ LOGNAME="$AUX6"
+ fi
+ echo "Tamaño máximo del archivo de log ($LOGSIZE) en MegaBytes, ingrese un nuevo tamaño o ENTER para continuar: <nuevo tamaño>"
+ #tengo que verificar que sea un numero
+ read AUX7
+ while [ ! -z "`echo $AUX7 | sed \"s/\"[0-9]*\"//\"`" ]; do
+ echo "Debe ingresar un numero"
+ read AUX7
+ done
+ if [ ! -z $AUX7 ]; then
+ LOGSIZE="$AUX7"
+ fi
+
+ echo "Desea volver a modificar?(s para modificar, ENTER para continuar)"
+ read op
+ done #fin de los segundos directorios
+ clear
+
+ echo "\" PARAMETROS DE LA INSTALACION DE ANTIFRAUDE \""
+ echo "\" ==========================================\""
+ echo "\"Nombre del directorio de instalación: $INSTDIR\""
+ echo "\"Nombre del directorio de ejecutables: $BINDIR\""
+ echo "\"Nombre del directorio de datos: $DATADIR\""
+ echo "\"Nombre del directorio de configuración: $CONFDIR\""
+ echo "\"Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME\""
+ echo "\"Tamaño máximo para el archivo de log: $LOGSIZE Mbytes\""
+ echo "\"Si los datos son correctos oprima solamente ENTER, si desea modificar
+ alguno de ellos oprima cualquier otra tecla y luego ENTER.\""
+ read again
+done #fin todo de nuevo
+
+echo "Si desea iniciar la instalación del Antifraude, oprima solamente ENTER, si
+desea cancelar el proceso oprima cualquier otra tecla y luego ENTER."
+read op
+if [ "$op" != "" ]; then
+ echo "Proceso de instalación cancelado"
+ exit 0
+fi
+
+#creo los directorios
+echo "Creando Estructura de directorios"
+if [ -d "$PATH_GENERAL" ]; then
+ echo "El directorio ya existe."
+ echo "Seleccione una opcion R: reinstalar, A: actualizar, C: Cancelar "
+ read sel
+ while [ "$sel" != "R" ]; do # || "$sel" != "A" ]; do
+ if [ "$sel" == "C" ]; then
+ echo "Proceso de Instalación Cancelado"
+ exit 0
+ fi
+ echo "Opción no válida"
+ echo "Ingrese nuevamente la opción"
+ read sel
+ done
+ if [ "$sel" == "R" ]; then
+ rm -rf $PATH_GENERAL
+ mkdir $PATH_GENERAL
+ mkdir $INSTDIR
+ mkdir $CONFDIR
+ mkdir $BINDIR
+ mkdir $DATADIR
+ mkdir $LOGDIR
+ mkdir -p "$DATADIR/{aprocesar,enproceso,rechazadas,procesadas}"
+ #creo archivos de log
+ touch "$LOGDIR/$LOGNAME"
+ #inserto informacion de instalacion
+ echo "INSTDIR = $INSTDIR" >> "$CONFDIR/afinstal.conf"
+ echo "CONFDIR = $CONFDIR" >> "$CONFDIR/afinstal.conf"
+ for n in `seq 3 51`
+ do
+ echo "" >> "$CONFDIR/afinstal.conf"
+ done
+ linea=10
+ i=0
+ fecha=$(date)
+ for FILE in ANTIFRAUDE.PL AFICONF AFIMONIO
+ do
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $FILE/" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
+ if [ "$FILE" == "ANTIFRAUDE.PL" ]; then
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
+ fi
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
+ i=`expr $i + 1`
+ numlinea=`expr $linea + $i`
+ cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
+
+ i=0
+ linea=`expr $linea + 10`
+ done #for
+ fi #seleccion opcion
+fi #si esxiste la estructura de directorios.. FIXME si no existe, hay que crearlo
+
+
+
+#ofrezco la posibilidad de correr el demonio..
+
+cat << MARCA
+Desea efectuar la activación del demonio antifraude?
+Si desea arrancar el proceso de antifraude, oprima solamente ENTER,
+si no desea correr el proceso oprima cualquier otra tecla y luego ENTER.
+MARCA
+
+read op
+if [ "$op" == "" ]; then
+ #lanzo el proceso
+ num=$($BINDIR/afimonio &)
+ err=$num
+ echo $err
+ num=`echo $num | sed "s/\[.*\]//"`
+ echo "El proceso afimonio se ha activado. Número de proceso:"
+else
+ echo "Para realizar la activación utilice el comando afimonio de la siguiente manera: $BINDIR/afimonio &".
+fi