]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - afinstal
Se agrega locking
[z.facultad/75.08/llamadas.git] / afinstal
index 578d70add598318ba7ebe0b7dcfc77e9d21a4bde..f803f7dc725e49942bb346b9b5bed0abfb312e87 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
@@ -95,7 +97,7 @@ 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
@@ -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
@@ -368,13 +367,14 @@ MARCA
        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
+       if [ "$comando" = "antifraude.pl" ]; then
+               mkdir -p "$DATADIR"
+               mkdir -p "$DATADIR"/{aprocesar,enproceso,rechazadas,procesadas}
+               mkdir -p "$DATADIR/alarmas"
        fi
        echo ">> Moviendo Archivos....."
        cp "$INSTDIR/$comando" "$BINDIR"
+       chmod u+x "$BINDIR/$comando"
 
        # TODO : no se debe copiar solo 1 vez?
        cp "$INSTDIR/oridesti.txt" "$CONFDIR"
@@ -416,6 +416,8 @@ MARCA
        changeLine "$CONFFILE" "$numline" "USERID = $userid"
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "FECINS = $fecha"
+       echo ">> Instalación del componente $comando completada"
+       read
 done
 
 # Creacion de archivos auxiliares