ya lo he portado del todo , ..habia algunos "vacios legales" ..jajaja
me daba fallo si no habia updates por que la variable
CREAR_MODULO
solo pasaba a SI , si habia updates , si no habia updates la variable quedaba vacia... ( en realidad no estaba definida en ningun sitio ,excepto si habia un update)
asi que de entrada le he metido NO , ...si luego pasa SI , ya se hacen las tareas oportunas..
tabien he tocado la generacion de los desktops ...habia "tabulaciones" (espacios en blanco) que quedan muy ordenados en el script y tal , pero se generaban los campos de los desktops con tabulaciones incluidas.
os recomiendo cuandpo se trate de insertar code TEXTO , nada de tabulaciones , ...desde el campo 0 de la linea ...por que si no se producen errores , me paso en gparted con las policy-kit .... hasta que me di cuenta.
para adaptarse al standar he creado la variable VERSION , y bla bla bla ... noarch (son scripts) ...y alguna chorrada mas.
he decidido tocar este antes ,por que es la base de todo ... es el que se encarga de controlar versiones etc...
_________________________________________________________________________________________________________
wifislax-updaters_updater
#!/bin/sh
# Script for www.seguridadwireless.net by vk496
SCRIPT_VERSION=20140912
############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
WEB="http://downloadwireless.net"
ELDIRECTORIO="wifislax-updaters"
PRGNAM=$ELDIRECTORIO
DIRECTORIOHTML="?dir=$ELDIRECTORIO"
VERSION=`echo $(date +"%Y%m%d")`
CREAR_MODULO=NO
}
############################################################
## Funciones comunes. Su nombre empieza por f_ ##
############################################################
f_variables(){
. /opt/wifislax-updaters/Funciones/funciones.sh
}
# Directorios de trabajo y actualizar
F_actualizar(){
mkdir -p $PKG $PKG/usr/share/applications/wifislax/Actualizadores
if [ ! -d $PKG/opt/$ELDIRECTORIO ]; then
mkdir -p $PKG/opt/$ELDIRECTORIO
fi
echo
for carpeta in $(curl -s $WEB/$DIRECTORIOHTML | grep "item dir" | sed 's/<[^>]\+>//g'); do
for archivo in $(curl -s $WEB/$DIRECTORIOHTML/$carpeta | grep "item file" | sed 's/<[^>]\+>//g' | sed 's/^[[:space:]]*//g' | grep -vE *~$); do
echo -n "${CYAN}Buscando $archivo... $CIERRE"
if [ -f /opt/$ELDIRECTORIO/$carpeta/$archivo ]; then
LOCAL_VERSION=$(cat /opt/$ELDIRECTORIO/$carpeta/$archivo | grep -m1 "SCRIPT_VERSION=" | cut -d "=" -f2)
WEB_VERSION=$(curl -s $WEB/$ELDIRECTORIO/$carpeta/$archivo | iconv -f windows-1251 | head -5 | grep "SCRIPT_VERSION=" | head -1 |cut -d "=" -f2)
echo -n "${VERDE}EXISTE$CIERRE"
if [[ $LOCAL_VERSION -lt $WEB_VERSION ]]; then
CREAR_MODULO=SI
if [ ! -d $PKG/opt/$ELDIRECTORIO/$carpeta ]; then
mkdir -p $PKG/opt/$ELDIRECTORIO/$carpeta/
fi
curl -s $WEB/$ELDIRECTORIO/$carpeta/$archivo -o $PKG/opt/$ELDIRECTORIO/$carpeta/$archivo
echo " + ${AMARILLO}ACTUALIZADO $ROSA(${WEB_VERSION:6}/${WEB_VERSION:4:2}/${WEB_VERSION:0:4})$CIERRE"
chmod +x $PKG/opt/$ELDIRECTORIO/$carpeta/$archivo
else
echo -e " $BLANCO(${LOCAL_VERSION:6}/${LOCAL_VERSION:4:2}/${LOCAL_VERSION:0:4})$CIERRE"
fi
else
CREAR_MODULO=SI
if [ ! -d $PKG/opt/$ELDIRECTORIO/$carpeta ]; then
mkdir -p $PKG/opt/$ELDIRECTORIO/$carpeta/
fi
curl -s $WEB/$ELDIRECTORIO/$carpeta/$archivo -o $PKG/opt/$ELDIRECTORIO/$carpeta/$archivo
LOCAL_VERSION=$(cat $PKG/opt/$ELDIRECTORIO/$carpeta/$archivo | grep -m1 "SCRIPT_VERSION=" | cut -d "=" -f2)
chmod +x $PKG/opt/$ELDIRECTORIO/$carpeta/$archivo
echo "${ROJO}DESCARGADO$CIERRE $BLANCO($ROSA${LOCAL_VERSION:6}/${LOCAL_VERSION:4:2}/${LOCAL_VERSION:0:4}$BLANCO)$CIERRE"
PRGNAM_CORTO=$(echo $archivo | cut -d "_" -f1)
mkdir -p $PKG/usr/share/applications/wifislax/Actualizadores/$carpeta
echo "[Desktop Entry]
Categories=$carpeta;
Exec=sh -c \"/opt/wifislax-updaters/$carpeta/$archivo;${SHELL:-bash}\"
Icon=updaters
MimeType=
Name=$PRGNAM_CORTO
Path=/opt/wifislax-updaters/$carpeta/
Terminal=true
TerminalOptions=
Type=Application">$PKG/usr/share/applications/wifislax/Actualizadores/$carpeta/$PRGNAM_CORTO.desktop
fi
done
done
sleep 2
echo
}
# Crear estructura
F_estructura(){
if [ $CREAR_MODULO = SI ]; then
echo ${CYAN}Creando logs e instalando....$CIERRE
sleep 2
mkdir -p $PKG/usr/share/applications/wifislax/Actualizadores $PKG/opt/wifislax-updaters
cp -Ru /usr/share/applications/wifislax/Actualizadores/ $PKG/usr/share/applications/wifislax/
cp -Ru /opt/wifislax-updaters/ $PKG/opt/
if [ -d $PKG/usr/share/applications/wifislax/Actualizadores/Funciones ]; then
rm -rf $PKG/usr/share/applications/wifislax/Actualizadores/Funciones
fi
fi
}
F_final(){
if [ $CREAR_MODULO = SI ]; then
f_tareasFinales
else
echo $VERDE
echo No hay actualizaciones para los updaters
sleep 3
echo
echo Bye Bye
echo $CIERRE
fi
}
###################################
## 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
# Directorios de trabajo y actualizar
F_actualizar
# Crear estructura
F_estructura
#Creamos xzm , instalamos y salimos
F_final