]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - afinstal
Paso chequeo de perl a cuando se instala antifraude.pl como dice el enunciado. Pongo...
[z.facultad/75.08/llamadas.git] / afinstal
index 5469903465b849a2ef315e20fa212975b9926fef..52cf2133083ce49d79d0d5f8d43770787ea430fd 100755 (executable)
--- a/afinstal
+++ b/afinstal
@@ -1,16 +1,13 @@
 #!/bin/bash 
 # vim: set softtabstop=4 tabstop=4 
 
+. inst/util.sh
+
 ################# Funciones ###########################
 
 # Devuelve 0 si la ruta fue cambiada y 1 si quedo por defecto
 function askDir() {
-       cat <<MARCA
->> Nombre del directorio de $1 es: ($3)
-Si desea modificarlo reemplaze "$2" por el deseado y presione ENTER,
-de lo contrario solo  presione ENTER."
-MARCA
-       read DIRSELECTED
+       leer ">> Ingrese la ruta para los archivos $1" "$2" DIRSELECTED
        if [ -n "$DIRSELECTED" ]; then return 1
        else return 0
        fi
@@ -18,23 +15,27 @@ MARCA
 
 # Devuelve 0 si el script y el OS matchean, 1 otherwise
 function checkOS() {
-       if echo $0 | egrep -q 'afinstal$'; then
-               SCRIPTOS="Linux"
-       fi
-       if echo $0 | egrep -q 'afinstam$'; then
-               SCRIPTOS="Mac"
-       fi
-       if echo $0 | egrep -q 'afinstaw$'; then
-               SCRIPTOS="Windows"
-       fi
-
-       if [ "$SISOPTP" != "$SCRIPTOS" ]; then
+       CURSIS="$1"
+       SCRIPTOS="un sistema desconocido"
+       case "$0" in
+               *afinstal)
+                       SCRIPTOS="Linux"
+                       ;;
+               *afinsmac)
+                       SCRIPTOS="Mac"
+                       ;;
+               *afinstaw)
+                       SCRIPTOS="Windows"
+                       ;;
+       esac
+       if [ "$CURSIS" != "$SCRIPTOS" ]; then
                cat<<MARCA
+ERROR!
 
-### ERROR ###
-Este proceso de instalacion es para $SISOPTP y su sistema operativo 
-es $CURSIS. Solicite a su proveedor la version adecuada e inicie 
-nuevamente el proceso de instalacion.
+Este proceso de instalacion es para $SCRIPTOS
+y su sistema operativo es $CURSIS
+Solicite a su proveedor la version adecuada
+e inicie nuevamente el proceso de instalacion.
 
 MARCA
        return 1
@@ -48,13 +49,14 @@ function checkPerl() {
                return 0;
        else
        cat <<MARCA
+ERROR!
 
-"ERROR!!!"
-"Este proceso de instalación solo puede ser"
-"ejecutado si Perl 5 o superior ya esta instalado"
+Este proceso de instalación solo puede ser
+ejecutado si Perl 5 o superior ya esta instalado
+
+Efectúe a instalación de Perl
+Inicie nuevamente el procedimiento de instalación.
 
-"Efectúe a instalación de Perl"
-i"e inicie nuevamente el procedimiento de instalación."
 MARCA
        return 1
        fi
@@ -62,7 +64,7 @@ MARCA
 
 # Modifica una linea dada de un archivo dado
 function changeLine() {
-       cat $1 | sed "${2}s%.*%$3%" > $1
+       cat "$1" | sed "${2}s%.*%$3%" > "$1"
 }
 
 # Mensaje generico de abort
@@ -88,14 +90,14 @@ MARCA
        fi
 cat <<MARCA
 *
-*                    Copyright TPSistemasOp (c)2004
+*                    Copyleft TPSistemasOp (c) 2004
 **********************************************************************
 MARCA
 }
 
 # Permite seleccionar que componentes se instalaran
 function selectModules() {
-       PS3="Seleccione un componente:"
+       PS3="Seleccione un componente: "
        key="S"
        toinstall=""
        while [ "$key" = "S" ] && [ -n "$choices" ]
@@ -130,11 +132,11 @@ MARCA
                        
                if [ -n "$choices" ]; then
                                echo
-                               echo "Se instalara [$selected], si desea seleccionar"
-                               echo "otro componente presione \"S\" y luego ENTER, de lo contrario"
-                               echo "presione solo ENTER para comenzar a instalar los componentes"
-                               read key
-                               if [ "$key" = "s" ]; then key="S"
+                               echo "Se instalará [$selected]"
+
+                               preguntar "¿Desea agregar otro componente para instalar?" "SsNn" key
+                               if [ "$key" = "s" ]; then
+                                       key="S"
                                fi
                        fi
                fi
@@ -166,18 +168,13 @@ haveconf=0
 havefraude=0
 
 # [STEP1] Verifico el OS vs SCRIPT y la presencia de PERL
-echo ">> Verificando version del software contra el OS.."
-checkOS
+echo -n ">> Verificando version del software contra el OS... "
+checkOS "$SISOPTP"
 if [ "$?" -ne 0 ]; then 
        abortMessage
        exit 1
 fi
-echo ">> Verificando la existencia de PERL.."
-checkPerl
-if [ "$?" -ne 0 ]; then
-       abortMessage
-       exit 1
-fi
+echo 'OK!'
 echo ">> Proceso de instalacion para $SISOPTP iniciado."
 echo ">> Presione ENTER para continuar"
 read key
@@ -187,7 +184,7 @@ cat <<MARCA
 ***************************************************************
 *                                                             *
 *            Proceso de instalacion de "Antifraude"           *
-*              Copyright TPSistemasOp (c) 2004                *
+*               Copyleft TPSistemasOp (c) 2004                *
 *                                                             *
 ***************************************************************
  A T E N C I O N: Al instalar Antifraude UD. expresa estar
@@ -199,11 +196,11 @@ cat <<MARCA
 MARCA
 key="something"
 while [ "$key" != "" ]; do
-read key
-if [ "$key" = "F" ]; then
-       abortMessage
-       exit 0
-fi
+       read key
+       if [ "$key" = "F" ]; then
+               abortMessage
+               exit 0
+       fi
 done
 
 # [STEP3] Chequeamos si hay componentes ya instalados
@@ -274,6 +271,16 @@ do
        
        # Directorios FIJOS para todos los componentes
        clear
+       if [ "$comando" = "antifraude.pl" ]; then
+               echo -n ">> Verificando la existencia de PERL... "
+               checkPerl
+               if [ "$?" -ne 0 ]; then
+                       abortMessage
+                       exit 1
+               fi
+               echo 'OK!'
+       fi
+
        cat <<MARCA
 
 ** Iniciando instalacion del componente <$comando>.
@@ -283,15 +290,12 @@ do
 >> Nombre del directorio de instalacion: ($INSTDIR)
 >> Nombre del directorio de configuracion: ($CONFDIR)
 
-Por favor ingrese un path raiz en donde se crearan los directorios de
-ejecutables, datos y logs segun corresponda o bien presione ENTER para
-aceptar el siguiente sugerido: $CURRDIR
 MARCA
 
        # Le pido un rootpath donde se instalara este comando en particular
-       read userpath
+       leer ">> Ingrese la ruta de instalación" "$CURRDIR/grupoNN" userpath
        if [ -n "$userpath" ]; then     ROOTPATH=$userpath
-       else ROOTPATH=$CURRDIR
+       else ROOTPATH="$CURRDIR/grupoNN"
        fi
 
        # preparlos los dirs que voy a sugerir
@@ -318,24 +322,19 @@ MARCA
        fi
 
        # Le sugiero el archivo de log
-       echo ">> Nombre del archivo de log: (${comando%.pl}.log)"
-       echo "Si desea conservar este nombre presione ENTER, de lo contrario"
-       echo "ingrese un nuevo nombre y luego presione ENTER"
-       read LOGFILE
+       leer ">> Nombre del archivo de log" "${comando%.pl}.log" LOGFILE
        if [ -z "$LOGFILE" ]; then
                LOGFILE="${comando%.pl}.log"
        fi
 
        # Le sugiero un size para el logfile
-       echo ">> Tamaño máximo para el archivo ($LOGFILE) en MB: 200"
-       echo "Si desea conservar este valor presione ENTER, de lo contrario ingrese"
-       echo "un nuevo valor y luego presione ENTER"
-       read LOGSIZE
+       leer ">> Tamaño máximo para el archivo ($LOGFILE) en MB" "200" LOGSIZE
        if [ -z "$LOGSIZE" ]; then
                LOGSIZE=200
        fi
 
        cat <<MARCA
+
 >>  Parametros de instalacion de $comando
 >>  ===================================================================
 >>  Directorio de instalación: $INSTDIR
@@ -363,15 +362,21 @@ MARCA
 
        # Comienzo a crear la estructura de directorios definida (Check permisos!!)
        echo ">> Creando Estructura de Directorio...."
-       mkdir -p $BINDIR
-       mkdir -p $LOGDIR
-       touch $LOGDIR/$LOGFILE
-       if [ $comando = "antifraude.pl" ]; then
-               mkdir -p $DATADIR
-               mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas}
+       mkdir -p "$BINDIR"
+       mkdir -p "$LOGDIR"
+       mkdir -p "$CONFDIR/lock"
+
+       touch "$LOGDIR/$LOGFILE"
+       if [ "$comando" = "antifraude.pl" ]; then
+               mkdir -p "$DATADIR"
+               mkdir -p "$DATADIR"/{aprocesar,enproceso,rechazadas,procesadas}
+               mkdir -p "$DATADIR/alarmas"
        fi
-       echo ">> Moviendo Archivos....."
+       echo ">> Copiando Archivos....."
        cp "$INSTDIR/$comando" "$BINDIR"
+       chmod u+x "$BINDIR/$comando"
+
+       # TODO : no se debe copiar solo 1 vez?
        cp "$INSTDIR/oridesti.txt" "$CONFDIR"
 
        # Guardo los datos en el archivo de configuracion
@@ -379,17 +384,17 @@ MARCA
        fecha=$(date +%d/%m/%Y)
        case $comando in
                "afimonio" ) numline=30;
-                               havemonio=1;
-                               usermonio=$userid;
-                               fechamonio=$fecha;;
+                       havemonio=1;
+                       usermonio=$userid;
+                       fechamonio=$fecha;;
                "aficonf" ) numline=20;
-                                       haveconf=1;
-                               userconf=$userid;
-                               fechaconf=$fecha;;
+                       haveconf=1;
+                       userconf=$userid;
+                       fechaconf=$fecha;;
                "antifraude.pl" ) numline=10;
-                                               havefraude=1;
-                                               userfraude=$userid;
-                                               fechafraude=$fecha;;
+                       havefraude=1;
+                       userfraude=$userid;
+                       fechafraude=$fecha;;
        esac    
                
        changeLine "$CONFFILE" "$numline" "Comando $comando"
@@ -413,6 +418,9 @@ MARCA
        changeLine "$CONFFILE" "$numline" "FECINS = $fecha"
 done
 
+# Creacion de archivos auxiliares
+echo "0" > "$CONFDIR/umbrales.id"
+
 # [STEP6] Ofrecer arrancar el Afimonio si estan los tres paquetes instalados
 
 # [STEP7] Mostrar en un recuadro que se encuentra instalado en el sistema