]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - BUGAFINSTAL
Minor fix, bugo al sobre
[z.facultad/75.08/llamadas.git] / BUGAFINSTAL
index 6bf0d3a2af2f3e6822d752a6afd3f2473caba349..236ebbd3f302503acaacd9cc1679f2904c507f92 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,12 +115,16 @@ cat <<MARCA
 * con la instalacion.                                     *
 ***********************************************************
 Componentes a instalar: [ $toinstall ]
+
+< Presione una tecla para continuar >
 MARCA
+read key
 }
 
 ################### MAIN SCRIPT CODE ###################
 clear
 SISOPTP=$(uname)
+CURRDIR=`echo ${0%/*} | sed s%'\.'%$PWD%`
 
 # [STEP1] Verifico el OS vs SCRIP y la presencia de PERL
 echo ">> Verificando version del software contra el OS.."
@@ -163,7 +164,7 @@ fi
 done
 
 # [STEP3] Chequeamos si hay componentes ya instalados
-if [ -f "./conf/afinstal.conf" ]; then
+if [ "2" = "3" ]; then
        #busco paquetes instalados. Leo afinstal.conf para ver que hay
        #como el archivo existe, tiene que tener alguna info almacenada..
        instdir=`cat $afinstal | grep -n INSTDIR | grep 1 | sed s/\.\*\=\ //`
@@ -271,139 +272,189 @@ fi
 # [STEP4] Seleecion de los componentes a instalar
 # TODO: tener en cuenta los que ya estan
 selectModules
-exit 0
 
-# [STEP5] Verifico que perl este instalado
+# [STEP5] Definir paths de cada componente e instalarlo guardando
+#         la informacion pertinente en el afinstal.conf
+CONFDIR="${CURRDIR}/conf"
+INSTDIR="${CURRDIR}/inst"
+CONFFILE="${CONFDIR}/afinstal.conf"
+DEFAULTDIR=$CURRDIR
 
-#defino los paths de configuracion e instalacion
-       CURDIR=$PWD
-       CONFDIR="${CURDIR}/conf"
-       INSTDIR="${CURDIR}/inst"
-       #creo el afinstal.conf y le agrego las 2 primeras lineas
-       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 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
+# Si no existe el afinstal.conf, lo creo y agrego las primeras 2 lineas
+if [ ! -f "$CONFFILE" ]; then
+       touch "$CONFFILE"
+       echo "INSTDIR = $INSTDIR" >> $CONFFILE
+       echo "CONFDIR = $CONFDIR" >> $CONFFILE
+       for n in `seq 3 51`; do
+               echo "" >> $CONFFILE
+       done            
+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         
+# 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
 
-                       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."
+** Iniciando instalacion del componente <$comando>.
+** A continuacion se le permitira establecer la estructura de
+** directorios donde se instalara el mismo.
 
-                       read op
+>> Nombre del directorio de instalacion: ($INSTDIR)
+>> Nombre del directorio de configuracion: ($CONFDIR)
 
-                       if [ -n "$op" ]; then
-                               echo "Proceso de instalación cancelado"
-                               exit 0
-                       fi
+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
 
-                       # 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
+       # 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=""
                
-               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    
+       # 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 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
+       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
+       read choice
+       if [ -n "$choice" ]; then exit 1
+       fi
+
+       # Comienzo a crear la estructura de directorios definida (Chequear 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}
+       fi
+       echo ">> Moviendo Archivos....."
+       cp $INSTDIR/$comando $BINDIR
+       cp $INSTDIR/umbrales.param $CONFDIR
+       #cp $INSTDIR/*.data $DATADIR/aprocesar
+done
+
+############## NO DAR BOLA DE ACA HACIA ABAJO #####################
+exit 0
+
+linea=10
+i=0
+fecha=$(date)
+
+
+read op
+
+if [ -n "$op" ]; then
+       echo "Proceso de instalación cancelado"
+       exit 0
+fi
+
+# Cremos los directorios para este comando
+
+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