Autor Tema: Mejorando los scripts wifislax-updaters  (Leído 161241 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #80 en: 13-09-2014, 21:44 (Sábado) »
   if [ ! $1 = "nostrip" ]; then
   stripdir $PKG 2>/dev/null
   fi


de momento funciona con abode , ahora estoy compilando otro ,para ver si a ese SI ,le aplica el stripdir ...deberia funcionar.    ;)


« Última modificación: 13-09-2014, 21:52 (Sábado) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #81 en: 13-09-2014, 21:57 (Sábado) »
para el tema del renombrado de modulos se puede hacer parecido ...

no tengpo constancia , de que ningun modulo necesite ser renombrado y no aplicar strip , con lo que no habri problema en principio en tener varias variables esperando instruccion , por que a lo sumo se llenara solo una de las variables.



para los modulos de renombrado , pues lo mismo , ...

solo que debere crearle varias reglas tipo

RENOMBRAR1=
RENOMBRAR2=
RENOMBRAR3=

$RENOMBRAR

bueno ese tema ya lo miramos mas adelante.

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #82 en: 13-09-2014, 21:58 (Sábado) »
Bueno, dos cosillas... queremos que cuando le pasemos 'nostrip' NO HAGA EL STRIP, y ahora mismo la condición hace lo contrario.
Por lado, cuando no pongamos la variable no tengo claro si fallará el script al hacer la sustitución del nulo en la condición del if... pruebalo de todas formas, si no funciona prueba esto otro:

#Si no indicamos nada, hace strip
if [ -z $1 ]
then
    stripdir $PKG 2>/dev/null
fi

El único problema es que tal y como está, da igual que digamos "nostrip" como si decimos "pepito"... lo único que mira es si le estamos enviando un parámetro o no.
Como ahora mismo solo vamos a usar "nostrip", podemos dejarlo así. En el momento en el que se nos ocurra otro parámetro adicional para otra cosa, añadiré un bloque adicional de comprobación de dicho parámetro y que ejecute lo que corresponda, algo así:

if [ -z $1 ]
then
    stripdir $PKG 2>/dev/null
fi
else
    if [ $1 == "nostrip" ]
    then
      :
    elif [ $1 == "otroparametro1" ]
    then
       #ejecutaloquesea
    ...
    fi

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #83 en: 13-09-2014, 22:02 (Sábado) »
venia justo a eso ...

cuando no hay parametro , peta "variable no definida"  ...   >:(


voy probar con la -Z

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #84 en: 13-09-2014, 22:07 (Sábado) »
Me acabo de dar cuenta de un fallo ...

cuando se muestra la version de script SIEMPRE SE MUESTRA LA VERSION DE funciones.sh , y no la version del script que se esta ejecutando.


si ejecuto aicrack , y en VERSION_SCRIPT pone 2019 , pues no sale eso , sale la VERSION_SCRIPT , de funciones.sh

asi no encontrara NUNCA actualizaciones para si mismo.  ( el script no se podra autoactualizar desde el ftp )


EDIT: solucion temporal = quitar del funciones.sh  la variable ...

« Última modificación: 13-09-2014, 22:12 (Sábado) por USUARIONUEVO »

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #85 en: 13-09-2014, 22:15 (Sábado) »
Me acabo de dar cuenta de un fallo ...

cuando se muestra la version de script SIEMPRE SE MUESTRA LA VERSION DE funciones.sh , y no la version del script que se esta ejecutando.


si ejecuto aicrack , y en VERSION_SCRIPT pone 2019 , pues no sale eso , sale la VERSION_SCRIPT , de funciones.sh

asi no encontrara NUNCA actualizaciones para si mismo.  ( el script no se podra autoactualizar desde el ftp )


EDIT: solucion temporal = quitar del funciones.sh  la variable ...



¿Cómo se actualiza el script funciones.sh? ¿Se mira su versión? En ese caso, habrá que dejar un VERSION_FUNCIONES específico para ese script, no?




Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #86 en: 13-09-2014, 22:15 (Sábado) »
   if [ -z $1 ]; then
   stripdir $PKG 2>/dev/null
   fi


$1

variable sin definir ,cuando no usamos nostrip parametro.   :-\

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #87 en: 13-09-2014, 22:17 (Sábado) »
Me acabo de dar cuenta de un fallo ...

cuando se muestra la version de script SIEMPRE SE MUESTRA LA VERSION DE funciones.sh , y no la version del script que se esta ejecutando.


si ejecuto aicrack , y en VERSION_SCRIPT pone 2019 , pues no sale eso , sale la VERSION_SCRIPT , de funciones.sh

asi no encontrara NUNCA actualizaciones para si mismo.  ( el script no se podra autoactualizar desde el ftp )


EDIT: solucion temporal = quitar del funciones.sh  la variable ...



¿Cómo se actualiza el script funciones.sh? ¿Se mira su versión? En ese caso, habrá que dejar un VERSION_FUNCIONES específico para ese script, no?




Saludos

si exacto ..habri que crear una regla para si mismo , ... pero se me antoja complicadisimo , ...

al final de las variables de funciones.sh , deberia el mismo ... llamar esa funcion que solo seria para el ..y que dentro , deberia llevar si VERSION_SCRIPT   ..


Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #88 en: 13-09-2014, 22:17 (Sábado) »
  if [ -z $1 ]; then
   stripdir $PKG 2>/dev/null
   fi


$1

variable sin definir ,cuando no usamos nostrip parametro.   :-\

Prueba así:

argumento=$1
if [ -z ${argumento} ]
then
   ...
fi

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #89 en: 13-09-2014, 22:22 (Sábado) »
me funciona cambiando el 1 , por la arroba...


Código: [Seleccionar]
   if [ -z "$@" ]; then
   stripdir $PKG 2>/dev/null
   fi

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #90 en: 13-09-2014, 22:26 (Sábado) »
a falta de ir mirando cosas , dejo el funciones.sh que va bien con nostrip y lo de la version script ...


Código: [Seleccionar]
#!/bin/bash

# Script by www.seguridadwireless.net

# Colores
CIERRE=${CIERRE:-""}
ROJO=${ROJO:-""}
VERDE=${VERDE:-""}
CYAN=${CYAN:-""}
AMARILLO=${AMARILLO:-""}
BLANCO=${BLANCO:-""}
ROSA=${ROSA:-""}

# Variables globales
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
BUILD=${BUILD:-1}
TAG=${TAG:-sw}
CWD=$(pwd)
TMP=${TMP:-/tmp/build/$PRGNAM}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# Funcion que limpia
f_exitmode() {
   rm -Rf $TMP &>/dev/null
   exit 1
}

# Funcion que muestra Presentacion
f_presentacion() {
   clear
   echo ""
   echo "$BLANCO                *****************************$CIERRE"
   echo "$VERDE                    Instalador/Actualizador   $CIERRE"
   echo "$VERDE                       para el programa       $CIERRE"
   echo "$CYAN                         $PRGNAM               $CIERRE"
   echo "$VERDE                                              $CIERRE"
   echo "$VERDE                  www.seguridadwireless.net   $CIERRE"
   echo "$BLANCO                *****************************$CIERRE"
   echo ""
   sleep 3
}

# Comprobar conexion by geminis_demon
f_comprobarConexion() {
   echo "$ROSA"Comprobando si hay acceso a internet"$CIERRE."
   if [ "$(ping google.com -c1 2>/dev/null)" ]; then
      echo "$VERDE"Tengo internet"$CIERRE ... $BLANCO"la tarea continuara."$CIERRE"
      echo ""
      sleep 3
   else
      echo "$ROJO"No tengo internet"$CIERRE ... $BLANCO"el script se cerrara."$CIERRE"
      echo ""
      sleep 5
      exit 0
   fi
}

# Comprobacion de updates para el script
f_comprobarUpdates() {
   SERVIDOR_WEB="http://downloadwireless.net/wifislax-updaters"
   DIRECTORIO=$(pwd)
   SERVIDOR_VERSION=$(curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater | grep "SCRIPT_VERSION=" | head -1 |cut -d "=" -f2)

   echo ${CYAN}Version Script$CIERRE: $ROJO${SCRIPT_VERSION:6}$BLANCO/$AMARILLO${SCRIPT_VERSION:4:2}$BLANCO/$ROJO${SCRIPT_VERSION:0:4}$CIERRE

   if [ "$(ping downloadwireless.net -c1 2>/dev/null)" ]; then
      if [[ $SCRIPT_VERSION -lt $SERVIDOR_VERSION ]]; then
         echo
         echo "$ROSA"Comprobando si hay actualizaciones para el script..."$CIERRE."
         echo ${ROJO}NUEVA VERSION$CIERRE
         echo
         echo ${ROSA}Version Server$CIERRE: $ROJO${SERVIDOR_VERSION:6}$BLANCO/$AMARILLO${SERVIDOR_VERSION:4:2}$BLANCO/$ROJO${SERVIDOR_VERSION:0:4}$CIERRE
         echo
         echo ${CYAN}Actualizando ${PRGNAM}_updater
         curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater -o $DIRECTORIO/${PRGNAM}_updater
         echo ${ROJO}LISTO$CIERRE
         sleep 3
         $0
         exit
      fi
   fi
}

# Definimos arquitectura del sistema. Se le pasa la arquitectura como parametro o la calcula automaticamente si no se indica nada
f_arquitectura() {
   ARCH=$1
   if [ -z "$ARCH" ]; then
     case "$( uname -m )" in
      i?86) export ARCH=i486 ;;
      arm*) export ARCH=arm ;;
         *) export ARCH=$( uname -m ) ;;
     esac
   fi

   if [ "$ARCH" = "i486" ]; then
     SLKCFLAGS="-O2 -march=i486 -mtune=i686"
     LIBDIRSUFFIX=""
   elif [ "$ARCH" = "i686" ]; then
     SLKCFLAGS="-O2 -march=i686 -mtune=i686"
     LIBDIRSUFFIX=""
   elif [ "$ARCH" = "x86_64" ]; then
     SLKCFLAGS="-O2 -fPIC"
     LIBDIRSUFFIX="64"
   else
     SLKCFLAGS="-O2"
     LIBDIRSUFFIX=""
   fi

   set -eu
}

# Detecta la version instalada en el sistema
f_versionInstalada() {
   if [ -f /var/log/packages/$PRGNAM-[0-9]* ]; then
   if [ $PRGNAM = aircrack-ng ]; then
      INSTALADA=$(grep -r -i "package name" /var/log/packages/$PRGNAM-[0-9]* | awk '{print $3}' | sed "s/$PRGNAM-//g" | cut -d- -f-3)
   else
      INSTALADA=$(grep -r -i "package name" /var/log/packages/$PRGNAM-[0-9]* | awk '{print $3}' | sed "s/$PRGNAM//g" | cut -d- -f2)
   fi
      echo ""
      echo ""$AMARILLO"Su version actual es..."$CYAN"$PRGNAM-$INSTALADA"$CIERRE""
      sleep 3
      echo ""
      echo "__________________________________________"
      echo ""
      echo ""$AMARILLO"La version mas actual es..."$CYAN"$PRGNAM-$VERSION"$CIERRE""
      echo ""
      echo ""$BLANCO"Pulsa $ROJO"ENTER" $BLANCO"si deseas actualizarla""
      read junk
      echo ""
   fi

   # Si el sistema tiene una version anterior se eliminara
   if [ -f /var/log/packages/$PRGNAM-[0-9]* ]; then
      f_eliminaVersion
   fi
}

# Elimina una version anterior
f_eliminaVersion() {
   echo ""
   echo "$ROJO"Se detecto una version antigua en el sistema... limpiando."$CIERRE"
   sleep 3
   removepkg /var/log/packages/$PRGNAM-[0-9]*
}

# Crea el directorio temporal de trabajo
f_directorioTemporal() {
   rm -rf $PKG
   mkdir -p $TMP $PKG $OUTPUT
   cd $TMP
}

# Creamos xzm , instalamos y salimos
f_tareasFinales() {
   echo ""
   echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
   sleep 3
   cd $PKG
   if [ -z "$@" ]; then
   stripdir $PKG 2>/dev/null
   fi 
   cleandir $PKG
   dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
   xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm /
# Variables especiales para renombrar algunos modulos
   if [ $PRGNAM = jre ]; then
   mv $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm $HOME/Desktop/010-$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
   fi
   rm -Rf $TMP &>/dev/null
   clear
   echo ""
   echo ""$VERDE"Creado modulo del paquete "$AMARILLO"$PRGNAM-$VERSION"$CIERRE""
   echo ""
   echo "$VERDE"Las tareas han finalizado"$CIERRE"
   if [ -x /usr/bin/update-desktop-database ]; then
     /usr/bin/update-desktop-database -q /usr/share/applications >/dev/null 2>&1
   fi
   
   if [ -x /usr/bin/update-mime-database ]; then
     /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
   fi
   
   if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
     if [ -x /usr/bin/gtk-update-icon-cache ]; then
       /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1
     fi
   fi
   
   if [ -x /usr/bin/glib-compile-schemas ]; then
  /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1
   fi
   
   sleep 3
   echo ""
   echo "$VERDE"Bye Bye"$CIERRE"
   echo ""
   sleep 3
   exit 0
}

vk496

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #91 en: 13-09-2014, 22:31 (Sábado) »
Citar
if [ -z $1 ];then
    stripdir $PKG 2>/dev/null
else
    if [ $1 == "nostrip" ]
    then
      :
    elif [ $1 == "otroparametro1" ]
    then
       #ejecutaloquesea
    ...
fi


Creo que sería mas facil así:

Código: [Seleccionar]
if [ $1 == "nostrip" ];then
    ...
elif [ $1 == "otroparametro1" ];then
    ...
elif [ $1 == "otroparametro1" ];then
   ...
else
    stripdir $PKG 2>/dev/null
fi

Aunque es cuestión de gustos...

Haber si me pongo ahora con los scripts....

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #92 en: 13-09-2014, 22:36 (Sábado) »
con lo que propones , que creo es lo mismo que dijo Fr3dY , estaria ya la variable funcional y parcheada ante otros posibles parametros entrantes que no sean nostrip


pero no me estaba funcionando con $1

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #93 en: 13-09-2014, 22:37 (Sábado) »
vk496, +1 a tu propuesta

En el caso de "nostrip", y para mantener coherencia en los bloques, podemos poner : como contenido del bloque (: es el no-op en bash):

if [ ! -z $1 ]
then
  if [ $1 == "nostrip" ];then
      #No hacemos nada
      :
  elif [ $1 == "otroparametro1" ];then
      ...
  elif [ $1 == "otroparametro1" ];then
     ...
  else
      stripdir $PKG 2>/dev/null
  fi
fi



Actualizo: añado una primera comprobación de que la variable no sea nula

Saludos
« Última modificación: 13-09-2014, 22:38 (Sábado) por Fr3dY »

vk496

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #94 en: 13-09-2014, 22:40 (Sábado) »
El funciones.sh que has dejado @USUARIONUEVO me da problemas con wifislax-updaters_updater

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #95 en: 13-09-2014, 22:41 (Sábado) »
El funciones.sh que has dejado @USUARIONUEVO me da problemas con wifislax-updaters_updater

Salu2

claro , por que le quite VERSION_SCRIPT

si se declara hay ,todos los scripts pillan la fecha del funciones.sh

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #96 en: 13-09-2014, 22:48 (Sábado) »
jodder , cuando la variable es $1  , peta siempre cuando esta vacio el campo


Código: [Seleccionar]
funciones.sh: línea 162: $1: variable sin asignar

¿ por que con la arroba no falla ?


la orden esta bien

Código: [Seleccionar]
f_tareasFinales nostrip
si cambio los 1 por @  funciona bien.

Código: [Seleccionar]
# Variable que tratara parametros extra
   if [ ! -z $@ ]; then
   if [ $@ == "nostrip" ]; then
      :
   elif [ $@ == "otroparametro1" ]; then
      ...
   elif [ $@ == "otroparametro1" ]; then
     ...
   else
      stripdir $PKG 2>/dev/null
   fi
« Última modificación: 13-09-2014, 22:52 (Sábado) por USUARIONUEVO »

vk496

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #97 en: 13-09-2014, 22:54 (Sábado) »
Y si pruebas con comillas?

"$1"

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #98 en: 13-09-2014, 22:58 (Sábado) »
con comillas o sin comillas una variable SIN DEFINIR, seguira indefinida.


CUANDO LE PASAMOS


nostrip

inetnta buscar la funcion o variable ..Y NO EXISTE , por eso INDEFINIDA.

o se define, o se le mete la arroba.

creo es mas facil meter la arroba que crear mas variables...

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14477
Re: Mejorando los scripts wifislax-updaters
« Respuesta #99 en: 13-09-2014, 23:09 (Sábado) »
Voy a hacer una cosa ...

os dejo el funciones.sh que me funciona con las arroba ...

y un updater que usa el nostrip , asi probais, por que ya me vuelvo loco.


_________________________________________________________________________________________________

funciones.sh que me va bien
Código: [Seleccionar]
#!/bin/bash

# Script by www.seguridadwireless.net

# Colores
CIERRE=${CIERRE:-""}
ROJO=${ROJO:-""}
VERDE=${VERDE:-""}
CYAN=${CYAN:-""}
AMARILLO=${AMARILLO:-""}
BLANCO=${BLANCO:-""}
ROSA=${ROSA:-""}

# Variables globales
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
BUILD=${BUILD:-1}
TAG=${TAG:-sw}
CWD=$(pwd)
TMP=${TMP:-/tmp/build/$PRGNAM}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# Funcion que limpia
f_exitmode() {
   rm -Rf $TMP &>/dev/null
   exit 1
}

# Funcion que muestra Presentacion
f_presentacion() {
   clear
   echo ""
   echo "$BLANCO                *****************************$CIERRE"
   echo "$VERDE                    Instalador/Actualizador   $CIERRE"
   echo "$VERDE                       para el programa       $CIERRE"
   echo "$CYAN                         $PRGNAM               $CIERRE"
   echo "$VERDE                                              $CIERRE"
   echo "$VERDE                  www.seguridadwireless.net   $CIERRE"
   echo "$BLANCO                *****************************$CIERRE"
   echo ""
   sleep 3
}

# Comprobar conexion by geminis_demon
f_comprobarConexion() {
   echo "$ROSA"Comprobando si hay acceso a internet"$CIERRE."
   if [ "$(ping google.com -c1 2>/dev/null)" ]; then
      echo "$VERDE"Tengo internet"$CIERRE ... $BLANCO"la tarea continuara."$CIERRE"
      echo ""
      sleep 3
   else
      echo "$ROJO"No tengo internet"$CIERRE ... $BLANCO"el script se cerrara."$CIERRE"
      echo ""
      sleep 5
      exit 0
   fi
}

# Comprobacion de updates para el script
f_comprobarUpdates() {
   SERVIDOR_WEB="http://downloadwireless.net/wifislax-updaters"
   DIRECTORIO=$(pwd)
   SERVIDOR_VERSION=$(curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater | grep "SCRIPT_VERSION=" | head -1 |cut -d "=" -f2)

   echo ${CYAN}Version Script$CIERRE: $ROJO${SCRIPT_VERSION:6}$BLANCO/$AMARILLO${SCRIPT_VERSION:4:2}$BLANCO/$ROJO${SCRIPT_VERSION:0:4}$CIERRE

   if [ "$(ping downloadwireless.net -c1 2>/dev/null)" ]; then
      if [[ $SCRIPT_VERSION -lt $SERVIDOR_VERSION ]]; then
         echo
         echo "$ROSA"Comprobando si hay actualizaciones para el script..."$CIERRE."
         echo ${ROJO}NUEVA VERSION$CIERRE
         echo
         echo ${ROSA}Version Server$CIERRE: $ROJO${SERVIDOR_VERSION:6}$BLANCO/$AMARILLO${SERVIDOR_VERSION:4:2}$BLANCO/$ROJO${SERVIDOR_VERSION:0:4}$CIERRE
         echo
         echo ${CYAN}Actualizando ${PRGNAM}_updater
         curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater -o $DIRECTORIO/${PRGNAM}_updater
         echo ${ROJO}LISTO$CIERRE
         sleep 3
         $0
         exit
      fi
   fi
}

# Definimos arquitectura del sistema. Se le pasa la arquitectura como parametro o la calcula automaticamente si no se indica nada
f_arquitectura() {
   ARCH=$1
   if [ -z "$ARCH" ]; then
     case "$( uname -m )" in
      i?86) export ARCH=i486 ;;
      arm*) export ARCH=arm ;;
         *) export ARCH=$( uname -m ) ;;
     esac
   fi

   if [ "$ARCH" = "i486" ]; then
     SLKCFLAGS="-O2 -march=i486 -mtune=i686"
     LIBDIRSUFFIX=""
   elif [ "$ARCH" = "i686" ]; then
     SLKCFLAGS="-O2 -march=i686 -mtune=i686"
     LIBDIRSUFFIX=""
   elif [ "$ARCH" = "x86_64" ]; then
     SLKCFLAGS="-O2 -fPIC"
     LIBDIRSUFFIX="64"
   else
     SLKCFLAGS="-O2"
     LIBDIRSUFFIX=""
   fi

   set -eu
}

# Detecta la version instalada en el sistema
f_versionInstalada() {
   if [ -f /var/log/packages/$PRGNAM-[0-9]* ]; then
   if [ $PRGNAM = aircrack-ng ]; then
      INSTALADA=$(grep -r -i "package name" /var/log/packages/$PRGNAM-[0-9]* | awk '{print $3}' | sed "s/$PRGNAM-//g" | cut -d- -f-3)
   else
      INSTALADA=$(grep -r -i "package name" /var/log/packages/$PRGNAM-[0-9]*-* | awk '{print $3}' | sed "s/$PRGNAM//g" | cut -d- -f2)
   fi
      echo ""
      echo ""$AMARILLO"Su version actual es..."$CYAN"$PRGNAM-$INSTALADA"$CIERRE""
      sleep 3
      echo ""
      echo "__________________________________________"
      echo ""
      echo ""$AMARILLO"La version mas actual es..."$CYAN"$PRGNAM-$VERSION"$CIERRE""
      echo ""
      echo ""$BLANCO"Pulsa $ROJO"ENTER" $BLANCO"si deseas actualizarla""
      read junk
      echo ""
   fi

   # Si el sistema tiene una version anterior se eliminara
   if [ -f /var/log/packages/$PRGNAM-[0-9]* ]; then
      f_eliminaVersion
   fi
}

# Elimina una version anterior
f_eliminaVersion() {
   echo ""
   echo "$ROJO"Se detecto una version antigua en el sistema... limpiando."$CIERRE"
   sleep 3
   removepkg /var/log/packages/$PRGNAM-[0-9]*
}

# Crea el directorio temporal de trabajo
f_directorioTemporal() {
   rm -rf $PKG
   mkdir -p $TMP $PKG $OUTPUT
   cd $TMP
}

# Creamos xzm , instalamos y salimos
f_tareasFinales() {
   echo ""
   echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
   sleep 3
   cd $PKG
# Variable que tratara parametros extra
   if [ ! -z $@ ]; then
   if [ $@ == "nostrip" ]; then
      :
   elif [ $@ == "otroparametro1" ]; then
      ...
   elif [ $@ == "otroparametro1" ]; then
     ...
   else
      stripdir $PKG 2>/dev/null
   fi
   cleandir $PKG
   dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
   xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm /
# Variables especiales para renombrar algunos modulos
   if [ $PRGNAM = jre ]; then
   mv $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm $HOME/Desktop/010-$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
   fi
   rm -Rf $TMP &>/dev/null
   clear
   echo ""
   echo ""$VERDE"Creado modulo del paquete "$AMARILLO"$PRGNAM-$VERSION"$CIERRE""
   echo ""
   echo "$VERDE"Las tareas han finalizado"$CIERRE"
   if [ -x /usr/bin/update-desktop-database ]; then
     /usr/bin/update-desktop-database -q /usr/share/applications >/dev/null 2>&1
   fi
   
   if [ -x /usr/bin/update-mime-database ]; then
     /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
   fi
   
   if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
     if [ -x /usr/bin/gtk-update-icon-cache ]; then
       /usr/bin/gtk-update-icon-cache /usr/share/icons/hicolor >/dev/null 2>&1
     fi
   fi
   
   if [ -x /usr/bin/glib-compile-schemas ]; then
  /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1
   fi
   
   sleep 3
   echo ""
   echo "$VERDE"Bye Bye"$CIERRE"
   echo ""
   sleep 3
   exit 0
}


____________________

adobe-reader_updater  este usa nostrip

Código: [Seleccionar]
#!/bin/sh

# Script by www.seguridadwireless.net

SCRIPT_VERSION=20140913

############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
WEB=http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i486linux_enu.tar.bz2
PRGNAM=adobe-reader
VERSION=9.5.5
}

############################################################
## Funciones comunes. Su nombre empieza por f_ ##
############################################################
f_variables(){
. /opt/wifislax-updaters/Funciones/funciones.sh
}


# Si el paquete no existe se descargara de internet
F_download(){
if [ ! -f AdbeRdr${VERSION}-1_${ARCH}linux_enu.tar.bz2 ]; then
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB
fi
}

# Descomprimimos el fichero descargado
F_compilar(){
echo ""
echo "$VERDE"Descomprimiendo ..."$CIERRE"
sleep 5
tar xvf AdbeRdr${VERSION}-1_${ARCH}linux_enu.tar.bz2
mkdir -p $PKG/opt $PKG/usr/bin
VERSION=${VERSION}_enu
cd $PKG/opt
tar xf $TMP/AdobeReader/COMMON.TAR
tar xf $TMP/AdobeReader/ILINXR.TAR

cd $PKG/opt/Adobe

# Eliminamos cosas innecesarias
rm -rf Reader9/Reader/HowTo
rm -r Reader9/Browser/{HowTo,install_browser_plugin}

# Creamos enlaces del binario y las librerias
( cd $PKG/usr/bin ; ln -sf /opt/Adobe/Reader9/bin/acroread . )

mkdir -p $PKG/usr/lib/mozilla/plugins
cd $PKG/usr/lib/mozilla/plugins
  ln -sf ../../../../opt/Adobe/Reader9/Browser/intellinux/nppdf.so .
cd -

mkdir -p $PKG/usr/share/mime/packages
cd $PKG/usr/share/mime/packages
  ln -sf ../../../../opt/Adobe/Reader9/Resource/Support/AdobeReader.xml .
cd -

# Fix para el fichero desktop
mkdir -p $PKG/usr/share/{applications,pixmaps}
cd $PKG/usr/share/applications
  ln -sf ../../../opt/Adobe/Reader9/Resource/Support/AdobeReader.desktop .
cd -

# Linkeamos el icono a /usr/share/pixmaps
cd $PKG/usr/share/pixmaps
  ln -sf ../../../opt/Adobe/Reader9/Resource/Icons/48x48/AdobeReader9.png .
cd -

# Fix bug in bash completion script by redefining "_filedir" function
# to "_acroread_filedir" as suggested on the adobe forum:
# http://forums.adobe.com/thread/745833
sed -i 's/_filedir/_acroread_filedir/g' $PKG/opt/Adobe/Reader9/Resource/Shell/acroread_tab

# Link bash_completion script to /etc/bash_completion.d
mkdir -p $PKG/etc/bash_completion.d
cd $PKG/etc/bash_completion.d
  ln -sf ../../opt/Adobe/Reader9/Resource/Shell/acroread_tab acroread
cd -

# Fix ownership and permissions
cd $PKG
find . -type d -exec chmod 755 {} \;
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
}

###################################
## BLOQUE PRINCIPAL DE EJECUCION ##
###################################
# Si se cierra el script inesperadamente, ejecutar la funcion de limpieza
trap f_exitmode SIGHUP SIGINT

#Inicializamos las variables del script
F_variables
#Inicializamos las variables globales
f_variables
#Comprobamos conexion a Internet
f_comprobarConexion
#Mostramos el mensaje de presentacion
f_presentacion
#Comprobamos updates del script
f_comprobarUpdates
#Asignamos o detectamos arquitectura
f_arquitectura
#Comprobamos version instalada del script
f_versionInstalada
#Creamos directorio de trabajo
f_directorioTemporal
#Si no existe el fichero se descargara
F_download
#Descomprimir fichero descargado y compilamos
F_compilar
#Creamos xzm , instalamos y salimos
f_tareasFinales nostrip