]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - BUGAFINSTAL
El usuario ya puede establecer todos los directorios de cada programa a instalar...
[z.facultad/75.08/llamadas.git] / BUGAFINSTAL
index b17d08d53a0e5026166e9248d160210ef1373db4..242b76842060281c606609bbe5dcdb12ff04b413 100755 (executable)
@@ -4,17 +4,15 @@
 ################# Funciones ###########################
 
 # Devuelve 0 si la ruta fue cambiada y 1 si quedo por defecto
-function cambiaruta() {
-       echo ""
-       echo "Nombre del directorio $1 es: ($2)"
-       echo "Si desea modificarlo ingrese la ruta completa deseada y luego presione ENTER"
-       echo "de lo contrario presione ENTER."
-       echo ""
+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
-       if [ -n "$DIRSELECTED" ]; then
-               return 0
-       else 
-               return 1
+       if [ -n "$DIRSELECTED" ]; then return 1
+       else return 0
        fi
 }
 
@@ -50,7 +48,6 @@ function checkPerl() {
                return 0;
        else
        cat <<MARCA
->> Verificando la existencia de PERL .. FAILED!
 
 "ERROR!!!"
 "Este proceso de instalación solo puede ser"
@@ -85,16 +82,16 @@ MARCA
                select REPLY in $choices
                do
                        case $REPLY in
-                       "AFIMONIO" ) selected="AFIMONIO";;
-                       "AFICONF" ) selected="AFICONF";;
-                       "ANTIFRAUDE" ) selected="ANTIFRAUDE";;
+                       "AFIMONIO" ) selected="afimonio";;
+                       "AFICONF" ) selected="aficonf";;
+                       "ANTIFRAUDE" ) selected="antifraude.pl";;
                        * ) selected="INVALID";;
                        esac
                break
                done
 
                if [ $selected != "INVALID" ]; then
-                       choices=`echo $choices | sed s/$selected//`
+                       choices=`echo $choices | sed s/$REPLY//`
                        if [ -z "$toinstall" ]; then toinstall=$selected
                        else toinstall="$toinstall,$selected"
                        fi
@@ -118,7 +115,10 @@ cat <<MARCA
 * con la instalacion.                                     *
 ***********************************************************
 Componentes a instalar: [ $toinstall ]
+
+< Presione una tecla para continuar>
 MARCA
+read key
 }
 
 ################### MAIN SCRIPT CODE ###################
@@ -278,6 +278,7 @@ selectModules
 CONFDIR="${CURRDIR}/conf"
 INSTDIR="${CURRDIR}/inst"
 CONFFILE="${CONFDIR}/afinstal.conf"
+DEFAULTDIR=$CURRDIR
 
 # Si no existe el afinstal.conf, lo creo y agrego las primeras 2 lineas
 if [ ! -f "$CONFFILE" ]; then
@@ -290,127 +291,166 @@ if [ ! -f "$CONFFILE" ]; then
        exit 0
 fi
 
+# Comienzo la instalacion de cada componente
+comandos=`echo $toinstall | sed s%,%" "%g`
+for comando in $comandos
+do
+       choice='something'
+       while [ -n "$choice" ]; do
+       
+       # Directorios FIJOS para todos los componentes
+       clear
+       cat <<MARCA
+
+** Iniciando instalacion del componente <$comando>.
+** A continuacion se le permitira establecer la estructura de
+** directorios donde se instalara el mismo.
+
+>> 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
+       if [ -n "$userpath" ]; then     ROOTPATH=$userpath
+       else ROOTPATH=$CURRDIR
+       fi
+
+       # preparlos los dirs que voy a sugerir
+       BINDIR="${ROOTPATH}/bin"
+       LOGDIR="${ROOTPATH}/log"
+       DATADIR=""
+               
+       # Le muestro el directorio sugerido para los binarios 
+       askDir "ejecutables" "bin" $BINDIR
+       if [ "$?" -ne 0 ]; then BINDIR="${ROOTPATH}/$DIRSELECTED"
+       fi
+
+       # Si estoy con antifraude.pl muestro el sugerido para los datos
+       if [ "$comando" = "antifraude.pl" ]; then
+               DATADIR="${ROOTPATH}/llamadas"
+               askDir "datos" "llamadas" $DATADIR
+               if [ "$?" -ne 0 ]; then DATADIR="${ROOTPATH}/$DIRSELECTED"
+               fi
+       fi
+
+       # Le muestro el directorio para los logs
+       askDir "de datos" "log" $LOGDIR
+       if [ "$?" -ne 0 ]; then LOGDIR="${ROOTPATH}/$DIRSELECTED"
+       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
+       if [ -z "$LOGFILE" ]; then
+               LOGFILE="${comando%.pl}.log"
+       fi
+
+       # Le sugieron 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
+       if [ -z "$LOGSIZE" ]; then
+               LOGSIZE=200
+       fi
+
+       cat <<MARCA
+>>  Parametros de instalacion de $comando
+>>  ===================================================================
+>>  Directorio de instalación: $INSTDIR
+>>  Directorio de configuración: $CONFDIR
+>>  Directorio de ejecutables: $BINDIR
+>>  Directorio de datos: $DATADIR
+>>  Archivo de log: $LOGDIR/$LOGFILE
+>>  Tamaño máximo para el archivo de log: $LOGSIZE
+
+Si los datos ingresados son correctos oprima solamente ENTER, si desea
+modificar alguno de ellos oprima cualquier otra tecla y luego ENTER.
+MARCA
+       read choice
+       done
+       
+       cat <<MARCA
+Si desea iniciar la instalación de <$comando>, oprima ENTER, si desea
+cancelar el proceso oprima cualquier otra tecla y luego ENTER.
+MARCA
+
+
+done
+
+############## NO DAR BOLA DE ACA HACIA ABAJO #####################
 exit 0
 
 linea=10
 i=0
 fecha=$(date)
 
-for comando in antifraude.pl afimonio aficonf ; do 
-               op="a" 
-               while [ -n "$op" ]; do 
-                       #Almance el path actual 
-                       BINDIR="${CURDIR}/bin"
-                       DATADIR="${CURDIR}/llamadas"
-                       LOGDIR="${CURDIR}/log"
-                       
-                       echo "La ruta del directorio de instalación es: ($INSTDIR)"
-                       echo "La ruta del directorio de configuración es: ($CONFDIR)"
-                       echo "La ruta del directorio de ejecutables es: ($BINDIR)"
-                       DIRSELECTED=""
-                       if cambiaruta "ejecutables" $BINDIR ; then
-                               BINDIR=$DIRSELECTED
-                       fi
-                       if cambiaruta "de datos" $DATADIR ; then
-                               DATADIR=$DIRSELECTED
-                       fi
-                       if cambiaruta "de log" $LOGDIR ; then
-                               LOGDIR=$DIRSELECTED
-                       fi
-                       echo "Nombre del archivo de log: (${comando}.log)"
-                       echo "Si desea conservar este nombre presione ENTER, de lo "
-                       echo "contrario ingrese un nuevo nombre y luego ENTER"
-                       read LOGNAME
-                       if [ -z "$logname" ]; then
-                               LOGNAME="${comando}.log"
-                       fi
-                       echo "Tamaño máximo para el archivo <$LOGNAME> (Mb): 20Mb"
-                       echo "Si desea conservar este valor presione ENTER, de lo "
-                       echo "contrario ingrese un nuevo valor y luego ENTER"
-                       read LOGSIZE
-                       if [ -z "$LOGSIZE" ]; then
-                               LOGSIZE=20
-                       fi
-
-                       cat <<MARCA 
-                       "               Parametros de instalación de $comando           "
-                       "       ==========================================      "
-                       " Nombre del directorio de instalación: $INSTDIR                "
-                       " Nombre del directorio de ejecutables: $BINDIR                 "
-                       " Nombre del directorio de datos: $DATADIR                              "
-                       " Nombre del directorio de configuración: $CONFDIR              "
-                       " Directorio y nombre del archivo de log: $LOGDIR/$LOGNAME"
-                       " Tamaño máximo para el archivo de log: $LOGSIZE                "
-
-                       Si los datos ingresados son correctos oprima solamente ENTER, si desea
-                       modificar alguno de ellos oprima cualquier otra tecla y luego ENTER.
-MARCA
-                       read op         
-
-                       echo "Si desea iniciar la instalación de <$comando>, oprima"
-                       echo "solamente ENTER, si desea cancelar el proceso oprima"
-                       echo "cualquier otra tecla y luego ENTER."
 
-                       read op
+read op
 
-                       if [ -n "$op" ]; then
-                               echo "Proceso de instalación cancelado"
-                               exit 0
-                       fi
+if [ -n "$op" ]; then
+       echo "Proceso de instalación cancelado"
+       exit 0
+fi
 
-                       # Cremos los directorios para este comando
-                       echo "Creando Estructura de Directorio...."
-                       mkdir -p $BINDIR
-                       mkdir -p $DATADIR
-                       mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas}
-                       mkdir -p $LOGDIR
-                       touch $LOGDIR/$LOGNAME
-                       echo "Moviendo Archivos....."
-                       cp $INSTDIR/$comando $BINDIR
-                       #cp $INSTDIR/umbrales.param $CONFDIR
-                       #cp $INSTDIR/*.data $DATADIR/aprocesar
-                       
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf"
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
-                       if [ "$FILE" = "antifraude.pl" ]; then
-                               i=$(($i+1))
-                               numlinea=$(($linea+$i))
-                               cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
-                               i=$(($i+1))
-                               numlinea=$(($linea+$i))
-                               cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
-                       fi              
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
-                       i=$(($i+1))
-                       numlinea=$(($linea+$i))
-                       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
-                       i=0
-                       linea=$(($linea+10))
-               done #for       
-       done #while
-       # Termino la instalacion, muestro informacion.
-       j=10
-       echo " ***************************************************************** "
-       echo " *                        Proceso de instalacion concluido                   * "
-       comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando `
-       for i in 17 25 35 ; do
-               
-               fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'`
-               i=$(($i +1))
-               usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'`
-               echo " *
-       done    
+# Cremos los directorios para este comando
+echo "Creando Estructura de Directorio...."
+mkdir -p $BINDIR
+mkdir -p $DATADIR
+mkdir -p $DATADIR/{aprocesar,enproceso,rechazadas,procesadas}
+mkdir -p $LOGDIR
+touch $LOGDIR/$LOGNAME
+echo "Moviendo Archivos....."
+cp $INSTDIR/$comando $BINDIR
+#cp $INSTDIR/umbrales.param $CONFDIR
+#cp $INSTDIR/*.data $DATADIR/aprocesar
+
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $comando/" > "$CONFDIR/afinstal.conf"
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf"
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf"
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf"
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf"
+if [ "$FILE" = "antifraude.pl" ]; then
+       i=$(($i+1))
+       numlinea=$(($linea+$i))
+       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf"
+       i=$(($i+1))
+       numlinea=$(($linea+$i))
+       cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf"
+       fi              
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf"
+i=$(($i+1))
+numlinea=$(($linea+$i))
+cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf"
+i=0
+linea=$(($linea+10))
+       
+# Termino la instalacion, muestro informacion.
+j=10
+echo " ***************************************************************** "
+echo " *                       Proceso de instalacion concluido                   * "
+comandos=`cat "$CONFDIR/afinstal.conf" | grep Comando `
+for i in 17 25 35 ; do
+       
+fecha=`cat "$CONFDIR/afinstal.conf" | grep -n FECINS | grep $i | sed 's/.*= //'`
+i=$(($i +1))
+usu=`cat "$CONDIR/afinstal.conf" | grep -n USERID | grep $i | sed 's/.*= //'`
+done