Autor Tema: base_updater plantilla de updaters  (Leído 3328 veces)

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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14435
base_updater plantilla de updaters
« 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.



Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14435
Re: base_updater plantilla de updaters
« Respuesta #1 en: 07-10-2015, 20:34 (Miércoles) »
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.



Código: [Seleccionar]
#!/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
« Última modificación: 08-10-2015, 15:42 (Jueves) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14435
Re: base_updater plantilla de updaters
« Respuesta #2 en: 07-10-2015, 22:43 (Miércoles) »
dejo de ejemplo un updater para la libreria "pip"   python install package   ;)

como se ve , la cantidad de codigo es muy poco  ;D



Código: [Seleccionar]
#!/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

Fr3dY

  • Visitante
Re: base_updater plantilla de updaters
« Respuesta #3 en: 08-10-2015, 09:13 (Jueves) »
Buen curro, USUARIONUEVO! Pero, como decía geminis_demon, ¿por qué llamar f_compilar a una función que no compila? :D




Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14435
Re: base_updater plantilla de updaters
« Respuesta #4 en: 08-10-2015, 14:51 (Jueves) »
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..... ;)
« Última modificación: 08-10-2015, 14:57 (Jueves) por USUARIONUEVO »

Fr3dY

  • Visitante
Re: base_updater plantilla de updaters
« Respuesta #5 en: 08-10-2015, 14:59 (Jueves) »
Desde una carpeta en los que estén todos:

Código: [Seleccionar]
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:

Código: [Seleccionar]
find . -name "*updater*" -exec sed -i s?f_compilar?f_preparar?g {} \;


Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14435
Re: base_updater plantilla de updaters
« Respuesta #6 en: 08-10-2015, 15:22 (Jueves) »
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.

« Última modificación: 08-10-2015, 15:41 (Jueves) por USUARIONUEVO »