Seguridad Wireless - Wifi
Suite Seguridad Wireless => Colaboracion y desarrollo de nuestras lives => Mensaje iniciado por: USUARIONUEVO en 07-10-2015, 20:33 (Miércoles)
-
Bueno , pues ya he ajustado lo necesario para las nuevas funciones globales ..
Las nuevas funciones globales son
f_download
esta se encarga de verificar que aria esta operativo , si no es asi o se necesita wget se definira para que los scripts sigan operativos.
en casos concretos donde solo sirve wget o con algun parametro extra se pone una regla
if PRGNAM = ...
GESTOR=
ademas se encargara de mirar si existe el fichero fuente y si no es asilo bajara
f_compilar
este otro descomprimira el fichero bajado y hara cd a su ruta para enpezar el configure o el make
____________________
luego en los propios updaters se han creado
EXTENSION=
se definira siempre que el fichero a descargar sea un zip u otro tipo tgz txz bz2
¿por que?
por que para los zip se usa unzipp y para los demas tar ...
SOURCES=
Hay se pondra el fichero fuente+extension
por ejemplo
SOURCES=$PRGNAM-$VERSION.$EXTENSION
PARECE COMPLICADO PERO ES MUY FACIL Y UTIL ..ya que solo rellenaremos los campos de configure y make y ya esta ... todo lo demas va en funciones globales.
-
y este es el base_updater , que deberiais usar ...
EXTENSION Y SOURCES , solo se rellenan en caso de trabajar con un fichero comprimido ...si no , no es necesario rellenarlos.
todo lo que sea crear el paquete , debera estar dentro de
F_compilar , para ahorrar un millon de funciones.
#!/bin/sh
echo "#!/bin/sh
# Script by www.seguridadwireless.net
SCRIPT_VERSION=$(date +%Y%m%d)
############################################################
## Funciones comunes. Su nombre empieza por f_ ##
############################################################
f_variables(){
. /opt/wifislax-updaters/Funciones/funciones_updater
}
############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
PRGNAM=
echo -ne "'"\033]2;${PRGNAM}_updater\007"'"
WEB=
VERSION=
EXTENSION=
SOURCES=
DOWNLOAD=
}
# Comprobar dependencias
#F_dependencias(){
#}
# Descomprimimos el fichero descargado y compilamos
F_compilar(){
echo ""
echo "'"$VERDE"'"Configurando ..."'"$CIERRE"'"
sleep 1
echo ""
echo "'"$VERDE"'"Compilando ..."'"$CIERRE"'"
sleep 1
}
###################################
## BLOQUE PRINCIPAL DE EJECUCION ##
###################################
# Si se cierra el script inesperadamente, ejecutar la funcion de limpieza
trap f_exitmode SIGHUP SIGINT
#Inicializamos las variables globales
f_variables
#Comprobamos conexion a Internet
f_comprobarConexion
#Inicializamos las variables del script
F_variables
#Creamos directorio de trabajo
f_directorioTemporal
#Mostramos el mensaje de presentacion
f_presentacion
#Comprobamos updates del script
f_comprobarUpdates
#Compronar dependencias
#F_dependencias
#Asignamos o detectamos arquitectura
f_arquitectura
#Comprobamos version instalada del paquete
f_versionInstalada
#Si no existe el fichero se descargara
f_download
#Preparamos entorno
f_preparar
#Descomprimir fichero descargado y compilamos
F_compilar
#Hacemos strip sobre el paquete
f_strip
#Creamos xzm , instalamos y salimos
f_tareasFinales" > /root/Desktop/$$_updater
chmod 777 /root/Desktop/*updater
-
dejo de ejemplo un updater para la libreria "pip" python install package ;)
como se ve , la cantidad de codigo es muy poco ;D
#!/bin/sh
# Script by www.seguridadwireless.net
SCRIPT_VERSION=20151007
############################################################
## Funciones comunes. Su nombre empieza por f_ ##
############################################################
f_variables(){
. /opt/wifislax-updaters/Funciones/funciones_updater
}
############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
PRGNAM=pip
echo -ne "\033]2;${PRGNAM}_updater\007"
WEB=https://pypi.python.org/pypi/pip
VERSION=`curl -s $WEB | grep .tar.gz | cut -d - -f3 | cut -d t -f-1 | sed "s/.$//g"`
EXTENSION=tar.gz
SOURCES=$PRGNAM-$VERSION.$EXTENSION
DOWNLOAD=https://pypi.python.org/packages/source/p/$PRGNAM/$SOURCES
}
# Descomprimimos el fichero descargado y compilamos
F_compilar(){
echo
echo "$VERDE"Compilando ..."$CIERRE"
sleep 1
python setup.py install --root=$PKG
# Add bash completion file
echo '# bash completion for pip
_pip_completion()
{
COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \
COMP_CWORD=$COMP_CWORD \
PIP_AUTO_COMPLETE=1 $1 ) )
}
complete -o default -F _pip_completion pip' > pip.sh
install -D -m 644 pip.sh $PKG/usr/share/bash-completion/completions/pip
}
###################################
## BLOQUE PRINCIPAL DE EJECUCION ##
###################################
# Si se cierra el script inesperadamente, ejecutar la funcion de limpieza
trap f_exitmode SIGHUP SIGINT
#Inicializamos las variables globales
f_variables
#Comprobamos conexion a Internet
f_comprobarConexion
#Inicializamos las variables del script
F_variables
#Creamos directorio de trabajo
f_directorioTemporal
#Mostramos el mensaje de presentacion
f_presentacion
#Comprobamos updates del script
f_comprobarUpdates
#Asignamos o detectamos arquitectura
f_arquitectura
#Comprobamos version instalada del paquete
f_versionInstalada
#Si no existe el fichero se descargara
f_download
#Preparamos entorno
f_compilar
#Descomprimir fichero descargado y compilamos
F_compilar
#Hacemos strip sobre el paquete
f_strip
#Creamos xzm , instalamos y salimos
f_tareasFinales
-
Buen curro, USUARIONUEVO! Pero, como decía geminis_demon, ¿por qué llamar f_compilar a una función que no compila? :D
Saludos
-
Buen curro, USUARIONUEVO! Pero, como decía geminis_demon, ¿por qué llamar f_compilar a una función que no compila? :D
Saludos
por que no es solo descomprimir ... hace cd a la ruta de las sources y da los parámetros básicos antes del configure.
es el previo a compilar...
se podría haber llamado
f_preparar
pero ya tenia un monton hechos y no me apetecia volver a tocar.
se que con "sed" , se pueden cambiar todos de una..... ;)
-
Desde una carpeta en los que estén todos:
find . -type f -exec sed -i s?f_compilar?f_preparar?g {} \;
Puedes añadirle una condición al 'find' si hay otros ficheros en la ruta:
find . -name "*updater*" -exec sed -i s?f_compilar?f_preparar?g {} \;
Saludos
-
pues cuando pueda les cambio dicho parámetro y los resubo.
tengo otro script que actualiza la fecha masivamente ;)
ale ya esta ..modificado y subidos.