]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - AFINSTAL
Muestro como utilizar las funciones bonitas para mejorar el AFINSTALL
[z.facultad/75.08/llamadas.git] / AFINSTAL
index a9a51b1763552abfa746efd7ab8ac02a22440e7f..2883a2711914eaf64925ceaf2e82c63f1a37ae6d 100755 (executable)
--- a/AFINSTAL
+++ b/AFINSTAL
@@ -1,4 +1,5 @@
 #!/bin/bash 
 #!/bin/bash 
+# vim: set softtabstop=4 tabstop=4 
 # variables de entorno
 #echo "editor "$EDITOR
 #echo "env "$ENV
 # variables de entorno
 #echo "editor "$EDITOR
 #echo "env "$ENV
@@ -13,6 +14,9 @@
 #echo "term "$TERM
 #echo "time out" $TMOUT
 
 #echo "term "$TERM
 #echo "time out" $TMOUT
 
+#Includes
+. util.sh
+
 # chequeo sistema operativo
 echo "Chequeando SO ..."
 if [ -z  "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then
 # chequeo sistema operativo
 echo "Chequeando SO ..."
 if [ -z  "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then
@@ -37,26 +41,25 @@ else
        echo "Proceso de instalación para $SISOPTP"
        echo "Presione ENTER para continuar"    
 fi
        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 
 
 #Verifico que Perl este instalado
 if [ "esta" == "`type perl | sed s/\"perl is .*\"/\"esta\"/`" ]; then 
@@ -75,67 +78,179 @@ PATH_GENERAL=$HOME"/antifraude"
 INSTDIR=$PATH_GENERAL"/inst/"
 CONFDIR=$PATH_GENERAL"/conf/"
 BINDIR=$PATH_GENERAL"/bin/"
 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
 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