]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - afinstal
Bye llamadaS
[z.facultad/75.08/llamadas.git] / afinstal
index 5b79f78574b39635ace0366ac872d8d695b5eafe..f759c3f8dfebb37bf5b22753f721a88365e81e29 100755 (executable)
--- a/afinstal
+++ b/afinstal
@@ -163,6 +163,7 @@ CONFDIR="${CURRDIR}/conf"
 INSTDIR="${CURRDIR}/inst"
 CONFFILE="${CONFDIR}/afinstal.conf"
 DEFAULTDIR=$CURRDIR
+OWNCONFDIR="$HOME/.antifraude"
 havemonio=0
 haveconf=0
 havefraude=0
@@ -261,6 +262,15 @@ if [ ! -f "$CONFFILE" ] || [ ! -s "$CONFFILE" ]; then
                echo "" >> $CONFFILE
        done            
 fi
+if [ ! -f "$OWNCONFDIR" ]; then
+       mkdir -p "$OWNCONFDIR"
+fi
+if [ ! -f "$OWNCONFDIR/lock" ]; then
+       mkdir -p "$OWNCONFDIR/lock"
+fi
+if [ ! -f "$OWNCONFDIR/conf" ]; then
+       mkdir -p "$OWNCONFDIR/conf"
+fi
 
 # Comienzo la instalacion de cada componente
 comandos=`echo $toinstall | sed s%,%" "%g`
@@ -293,10 +303,19 @@ do
 MARCA
 
        # Le pido un rootpath donde se instalara este comando en particular
-       leer ">> Ingrese la ruta de instalación" "$CURRDIR/grupoNN" userpath
-       if [ -n "$userpath" ]; then     ROOTPATH=$userpath
-       else ROOTPATH="$CURRDIR/grupoNN"
-       fi
+       is_writeable=0
+       while [ $is_writeable -eq 0 ]; do
+               leer ">> Ingrese la ruta de instalación" "$CURRDIR" userpath
+               if [ -n "$userpath" ]; then
+                       ROOTPATH=$userpath
+                       if [ -w "${userpath%/*}" ]; then is_writeable=1
+                       else echo ">> ERROR: No es posible crear dicho directorio"
+                       fi
+               else 
+                       ROOTPATH="$CURRDIR"
+                       is_writible=1
+               fi
+       done
 
        # preparlos los dirs que voy a sugerir
        BINDIR="${ROOTPATH}/bin"
@@ -364,7 +383,6 @@ MARCA
        echo ">> Creando Estructura de Directorio...."
        mkdir -p "$BINDIR"
        mkdir -p "$LOGDIR"
-       mkdir -p "$CONFDIR/lock"
 
        touch "$LOGDIR/$LOGFILE"
        if [ "$comando" = "antifraude.pl" ]; then
@@ -376,39 +394,62 @@ MARCA
        cp "$INSTDIR/$comando" "$BINDIR"
        chmod u+x "$BINDIR/$comando"
 
-       # TODO : no se debe copiar solo 1 vez?
-       cp "$INSTDIR/oridesti.txt" "$CONFDIR"
+       # Copio umbrales, oridesti y utilities una sola vez
+       if [ ! -f "$OWNCONFDIR/oridesti.txt" ]; then
+               cp "$INSTDIR/oridesti.txt" "$OWNCONFDIR"
+       fi
+       if [ ! -f "$OWNCONFDIR/umbrales.param" ]; then
+               cp "$INSTDIR/umbrales.param" "$OWNCONFDIR"
+       fi
+       if [ ! -f "$OWNCONFDIR/umbrales.id" ]; then
+               echo 0 >> "$OWNCONFDIR/umbrales.id"
+       fi
+       if [ ! -f "$OWNCONFDIR/util.sh" ]; then
+               cp "$INSTDIR/util.sh" "$OWNCONFDIR"
+       fi
 
        # Guardo los datos en el archivo de configuracion
+       ownconffile="$OWNCONFDIR/conf/${comando%.pl}.conf"
+       if [ -f "$ownconffile" ]; then
+               rm -rf "$ownconffile"
+       fi
        userid=$LOGNAME
        fecha=$(date +%d/%m/%Y)
        case $comando in
                "afimonio" ) numline=30;
                        havemonio=1;
                        usermonio=$userid;
-                       fechamonio=$fecha;;
+                       fechamonio=$fecha;
+                       prefix="AFIM";;
                "aficonf" ) numline=20;
                        haveconf=1;
                        userconf=$userid;
-                       fechaconf=$fecha;;
+                       fechaconf=$fecha;
+                       prefix="AFIC";;
                "antifraude.pl" ) numline=10;
                        havefraude=1;
                        userfraude=$userid;
-                       fechafraude=$fecha;;
-       esac    
+                       fechafraude=$fecha;
+                       prefix="ANTI";;
+       esac
                
        changeLine "$CONFFILE" "$numline" "Comando $comando"
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "BINDIR = $BINDIR"
+       echo "${prefix}_BINDIR=\"$BINDIR\"" >> $ownconffile
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "LOGDIR = $LOGDIR"
+       echo "${prefix}_LOGDIR=\"$LOGDIR\"" >> $ownconffile
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "LOGFILE = $LOGFILE"
+       echo "${prefix}_LOGFILE=\"$LOGFILE\"" >> $ownconffile
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "LOGSIZE = $LOGSIZE"
+       echo "${prefix}_LOGSIZE=$LOGSIZE" >> $ownconffile
        numline=$(($numline+1))
        if [ "$comando" = "antifraude.pl" ]; then
                changeLine "$CONFFILE" "$numline" "DATADIR = $DATADIR"
+               echo "${prefix}_DATADIR=\"$DATADIR\"" >> $ownconffile
                numline=$(($numline+1))
                changeLine "$CONFFILE" "$numline" "DATASIZE = "
                numline=$(($numline+1))
@@ -416,11 +457,11 @@ MARCA
        changeLine "$CONFFILE" "$numline" "USERID = $userid"
        numline=$(($numline+1))
        changeLine "$CONFFILE" "$numline" "FECINS = $fecha"
+       echo ">> Instalación del componente $comando completada"
+       echo ">> Presione ENTER para continuar"
+       read
 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