From ae1e3153ae27b2f40dc08ff60b18ac5fdd85e7cb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Wed, 6 Oct 2004 15:33:28 +0000 Subject: [PATCH] empece una copia de afinstal mas prolija y salvando los errores que marco Alan, dejo la otra porque hay algnas cosas que sirven.. --- AFINSTAL | 296 +++++++++++------------------------------------------- AFINSTAL2 | 80 +++++++++++++++ 2 files changed, 141 insertions(+), 235 deletions(-) create mode 100755 AFINSTAL2 diff --git a/AFINSTAL b/AFINSTAL index 2c77fc9..493e2de 100755 --- a/AFINSTAL +++ b/AFINSTAL @@ -1,254 +1,80 @@ #!/bin/bash # vim: set softtabstop=4 tabstop=4 -# variables de entorno -#echo "editor "$EDITOR -#echo "env "$ENV -#echo "home "$HOME -#echo "host "$HOSTNAME -#echo "logname "$LOGNAME -#echo "user " $USER -#echo "mail "$MAIL -#echo "path "$PATH -#echo "pwd "$PWD -#echo "shell "$SHELL -#echo "term "$TERM -#echo "time out" $TMOUT -# chequeo sistema operativo -echo "Chequeando SO ..." -if [ -z "`echo $0 | sed \"s/.*AFINSTAL$//\"`" ]; then +#FUNCIONES AUXILIARES + + +#Verifico que el sistema operativo sea correcto. +if echo $0 | egrep -q 'AFINSTAL$'; then SISOPTP="Linux" -elif [ -z "`echo $0 | sed \"s/.*AFINSTAW$//\"`" ]; then - SISOPTP="Windows" -elif [ -z "`echo $0 | sed \"s/.*AFINSTAM$//\"`" ]; then +fi +if echo $0 | egrep -q 'AFINSTAM$'; then SISOPTP="Mac" fi +if echo $0 | egrep -q 'AFINSTAW$'; then + SISOPTP="Windows" +fi CURSIS=$(uname) -#echo "cursis $CURSIS" # comienzo instalacion si el sistema es correcto if [ "$SISOPTP" != "$CURSIS" ]; then - echo "ERROR !!!" - echo "Este proceso de instalación es para $SISOPTP" - echo "y su sistema operativo es $CURSIS" - echo "Solicite a su proveedor la versión adecuada" - echo "e inicie nuevamente el proceso de instalación" - exit 1 +cat<" - 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/" - 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/" - 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/" - 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/" - 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: " - 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: " - #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=$(($linea+$i)) - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s/.*/Comando $FILE/" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(BINDIR = $BINDIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGDIR = $LOGDIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGNAME = $LOGNAME(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(LOGSIZE = $LOGSIZE(" > "$CONFDIR/afinstal.conf" - if [ "$FILE" == "ANTIFRAUDE.PL" ]; then - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATADIR = $DATADIR(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(DATASIZE = (" > "$CONFDIR/afinstal.conf" - fi - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(USERID = $USER(" > "$CONFDIR/afinstal.conf" - i=$(($i+1)) - numlinea=`expr $linea + $i` - cat "$CONFDIR/afinstal.conf" | sed "$numlinea""s(.*(FECINS = $fecha(" > "$CONFDIR/afinstal.conf" - echo "i es igual a "$i - i=0 - linea=$(($linea+10)) - done #for - fi #seleccion opcion -fi #si esxiste la estructura de directorios.. FIXME si no existe, hay que crearlo +#Verifico si hay algo instalado +#busco en el archivo afinstal.conf (desde donde???) por ahora desde el home +afinstal=`find $HOME -name 'afinstal.conf'` - -#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. +if [ -n "$afinstal" ]; then + #busco paquetes instalados. Leo afinstal.conf para ver que hay + #Busco los binarios + comp=0 + bindir=`cat $afinstal | grep -n BINDIR | grep 11 | sed s/\.\*\=\ //` + if [ ! -f "$bindir""antifraude.pl" ]; then + #instalo antifraude porque no existe + echo "Instalando Antifraude..." + comp=$(($comp + 1)) + fi + if [ ! -f "$bindir""aficonf" ]; then + #instalo aficonf porque no existe + echo "Instalando Aficonf..." + comp=$(($comp + 1)) + fi + if [ ! -f "$bindir""afimonio" ]; then + #instalo afimonio porque no existe + echo "Instalando Afimonio..." + comp=$(($comp + 1)) + fi + if [ $comp == 0 ]; then + #busco los datos + fecha1=`cat $afinstal | grep -n FECINS | grep 18 | sed s/\.\*\=\ //` + fecha2=`cat $afinstal | grep -n FECINS | grep 26 | sed s/\.\*\=\ //` + fecha3=`cat $afinstal | grep -n FECINS | grep 36 | sed s/\.\*\=\ //` + usu1=`cat $afinstal | grep -n USERID | grep 17 | sed s/\.\*\=\ //` + usu2=`cat $afinstal | grep -n USERID | grep 25 | sed s/\.\*\=\ //` + usu3=`cat $afinstal | grep -n USERID | grep 35 | sed s/\.\*\=\ //` +cat<