X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/4ec598fd3733617e0d4b97f871fc915454d9fc35..43001fd28cfba166b13913031c33a7252fd081d6:/afinstal diff --git a/afinstal b/afinstal index eea0876..37b5870 100755 --- a/afinstal +++ b/afinstal @@ -63,8 +63,13 @@ MARCA } # Modifica una linea dada de un archivo dado +# Uso: nombre_archivo nro_linea nueva_linea function changeLine() { - cat "$1" | sed "${2}s%.*%$3%" > "$1" + # Si no se puede crear archivos, muero + [ -w . ] || die "No se puede escribir en el directorio actual" 100 + tmp="$0.$$.tmp" + sed "${2}s%.*%$3%" > "$tmp" < "$1" + mv "$tmp" "$1" } # Mensaje generico de abort @@ -86,7 +91,7 @@ MARCA echo "* Aficonf instalado el $fechaconf por $userconf" fi if [ "$havemonio" -eq 1 ]; then - echo "* Afimonio instalado el $fechaconf por $usermonio" + echo "* Afimonio instalado el $fechamonio por $usermonio" fi cat <> 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" @@ -380,20 +412,31 @@ MARCA mkdir -p "$DATADIR" mkdir -p "$DATADIR"/{aprocesar,enproceso,rechazadas,procesadas} mkdir -p "$DATADIR/alarmas" + # Aprovecho para copiar las llamadas en este bloque + if [ -f "$INSTDIR/testcalls.tar.gz" ]; then + tar -xzf "$INSTDIR/testcalls.tar.gz" -C "$DATADIR/aprocesar" + fi fi echo ">> Moviendo Archivos....." cp "$INSTDIR/$comando" "$BINDIR" chmod u+x "$BINDIR/$comando" + if [ "$comando" = "afimonio" ]; then + cp "$INSTDIR/afimonio_daemon.sh" "$BINDIR" + chmod u+x "$BINDIR/afimonio_daemon.sh" + fi - # Copio umbrales y oridesti una sola vez + # Copio umbrales, oridesti y utilities una sola vez if [ ! -f "$OWNCONFDIR/oridesti.txt" ]; then - cp "$INSTDIR/oridesti.txt" "$OWNCONFDIR" + cp "$CONFDIR/oridesti.txt" "$OWNCONFDIR" fi if [ ! -f "$OWNCONFDIR/umbrales.param" ]; then - cp "$INSTDIR/umbrales.param" "$OWNCONFDIR" + cp "$CONFDIR/umbrales.param" "$OWNCONFDIR" fi if [ ! -f "$OWNCONFDIR/umbrales.id" ]; then - echo 0 >> "$OWNCONFDIR/umbrales.id" + cp "$CONFDIR/umbrales.id" "$OWNCONFDIR" + fi + if [ ! -f "$OWNCONFDIR/util.sh" ]; then + cp "$INSTDIR/util.sh" "$OWNCONFDIR" fi # Guardo los datos en el archivo de configuracion @@ -407,34 +450,37 @@ MARCA "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;; + fechafraude=$fecha; + prefix="ANTI";; esac changeLine "$CONFFILE" "$numline" "Comando $comando" numline=$(($numline+1)) changeLine "$CONFFILE" "$numline" "BINDIR = $BINDIR" - echo "BINDIR=\"$BINDIR\"" >> $ownconffile + echo "${prefix}_BINDIR=\"$BINDIR\"" >> $ownconffile numline=$(($numline+1)) changeLine "$CONFFILE" "$numline" "LOGDIR = $LOGDIR" - echo "LOGDIR=\"$LOGDIR\"" >> $ownconffile + echo "${prefix}_LOGDIR=\"$LOGDIR\"" >> $ownconffile numline=$(($numline+1)) changeLine "$CONFFILE" "$numline" "LOGFILE = $LOGFILE" - echo "LOGFILE=\"$LOGFILE\"" >> $ownconffile + echo "${prefix}_LOGFILE=\"$LOGFILE\"" >> $ownconffile numline=$(($numline+1)) - changeLine "$CONFFILE" "$numline" "LOGSIZE = $LOGSIZE" - echo "LOGSIZE=$LOGSIZE" >> $ownconffile + changeLine "$CONFFILE" "$numline" "LOGSIZE = "$(($LOGSIZE*1024*1024)) + echo "${prefix}_LOGSIZE=$(($LOGSIZE*1024*1024))" >> $ownconffile numline=$(($numline+1)) if [ "$comando" = "antifraude.pl" ]; then changeLine "$CONFFILE" "$numline" "DATADIR = $DATADIR" - echo "DATADIR=\"$DATADIR\"" >> $ownconffile + echo "${prefix}_DATADIR=\"$DATADIR\"" >> $ownconffile numline=$(($numline+1)) changeLine "$CONFFILE" "$numline" "DATASIZE = " numline=$(($numline+1)) @@ -443,10 +489,12 @@ MARCA numline=$(($numline+1)) changeLine "$CONFFILE" "$numline" "FECINS = $fecha" echo ">> Instalación del componente $comando completada" + echo ">> Presione ENTER para continuar" read done # [STEP6] Ofrecer arrancar el Afimonio si estan los tres paquetes instalados +askDaemon # [STEP7] Mostrar en un recuadro que se encuentra instalado en el sistema showInstalled