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

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

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #60 en: 12-09-2014, 00:29 (Viernes) »
Cuando dices 'cp' imagino que será 'cp -R' para que copie todas las subcarpetas recursivamente, no?




Saludos



Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #61 en: 12-09-2014, 00:35 (Viernes) »
Cuando dices 'cp' imagino que será 'cp -R' para que copie todas las subcarpetas recursivamente, no?




Saludos

si , claro . deberia copiar toda la carpeta ,pero no se por que , crea el modulo sin las carpetas nuevas...

un copiado recursivo de la carpeta deberia estar todo ..

me di cuenta por que lo abri el xzm , y la carpeta nueva de Funciones , no estaba , ni el script ... sin embargo si que lo bajo del ftp ...o eso creo.

PD: ahora le he vuelto a probar y lo ha hecho todo ok...   ???
« Última modificación: 12-09-2014, 00:38 (Viernes) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #62 en: 12-09-2014, 00:46 (Viernes) »
lo que ocurre ahora es lo que dijo vk , .... genera la entrada desktop.


la funcion de generar desktop , debe excluir la carpeta FUnciones.   ;D


bueno , pues no vamos a complicarnos demasiado la vida ...   ;D


Código: [Seleccionar]
if [ -d $PKG/usr/share/applications/wifislax/Actualizadores/Funciones ]; then
rm -rf $PKG/usr/share/applications/wifislax/Actualizadores/Funciones
fi

justo antes de generar el xzm ,  y se acabo el objeto perdido ...   ^-^ >:D >:(
« Última modificación: 12-09-2014, 01:16 (Viernes) por USUARIONUEVO »

vk496

  • Visitante
Re: Re: Mejorando los scripts wifislax-updaters
« Respuesta #63 en: 12-09-2014, 01:34 (Viernes) »
Que cabrón...  Eso es hacer trampa! Jajajaja

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #64 en: 12-09-2014, 02:10 (Viernes) »
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

Código: [Seleccionar]
#!/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
« Última modificación: 12-09-2014, 02:14 (Viernes) por USUARIONUEVO »

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #65 en: 12-09-2014, 08:49 (Viernes) »
@USUARIONUEVO, una cosilla... dices que en el script wifislax-updaters_updater la arquitectura es 'noarch' ya que son scripts, pero en la llamada a f_arquitectura no has puesto ningún parámetro.
¿No deberías haber puesto "f_arquitectura noarch"? La función establece la arquitectura si se la pasas como parámetro (en este caso sería "noarch"), y la calcula mediante uname... si no indicas nada.




Saludos

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #66 en: 12-09-2014, 08:49 (Viernes) »
Los scripts adaptados al nuevo estandar están aquí: http://www.downloadwireless.net/?dir=wifislax-updaters

Y los antiguos aquí: http://www.downloadwireless.net/?dir=wifislax-updaters-old

Gracias! Si es que estoy fatal... :D




Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #67 en: 12-09-2014, 11:57 (Viernes) »
@USUARIONUEVO, una cosilla... dices que en el script wifislax-updaters_updater la arquitectura es 'noarch' ya que son scripts, pero en la llamada a f_arquitectura no has puesto ningún parámetro.
¿No deberías haber puesto "f_arquitectura noarch"? La función establece la arquitectura si se la pasas como parámetro (en este caso sería "noarch"), y la calcula mediante uname... si no indicas nada.




Saludos


pues si que al final me lo deje sin poner ..  ;)

lo tenia puesto , pero luego no se que empece a tocar ... en realidad lo que paso es que tenia una copia en escritorio y otra en la ruta de trabajo ,y creo modifique el del scritorio y despues me lleve el otro  ;) ;) ;)

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #68 en: 12-09-2014, 12:44 (Viernes) »
Ahora los subo al ftp


funciones.sh

con algunos extras

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

# Script by www.seguridadwireless.net

SCRIPT_VERSION=20140912

# 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 5
   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 5
   cd $PKG
   stripdir $PKG 2>/dev/null
   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
}



jre_updater


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

# Script by www.seguridadwireless.net

SCRIPT_VERSION=20140912

############################################################
## Funciones propias del script. Su nombre empieza por F_ ##
############################################################
# Definicion de variables
F_variables() {
PRGNAM=jre
WEB=$(curl -s http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html | grep -E i?86 | grep tar.gz | grep linux | cut -d ":" -f4- | cut -d "\"" -f2)
ARCHIVO=${WEB##*/}
VERSION=$(echo $ARCHIVO | cut -d "-" -f 2)
}

############################################################
## 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(){
echo ".oracle.com TRUE / FALSE 1906724535 oraclelicense accept-securebackup-cookie">cookie
if [ ! -f $ARCHIVO ]; then
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 3
wget --load-cookies=cookie $WEB
fi
}

# Empezamos a crear el paquete
F_crearpaquete(){
echo ""
echo "$VERDE"Descomprimiendo ..."$CIERRE"
sleep 3

mkdir -p $PKG/usr/java/ $PKG/etc/profile.d $PKG/usr/lib/mozilla/plugins/ $PKG/usr/lib/java $PKG/usr/share/applications
tar -xvf $ARCHIVO -C $PKG/usr/java/
cleandir $PKG

cd $PKG
echo "#!/bin/csh
setenv JAVA_HOME /usr/lib/java
setenv MANPATH \${MANPATH}:\${JAVA_HOME}/man
setenv PATH \${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin" >$PKG/etc/profile.d/jre.csh

echo "#!/bin/sh
export JAVA_HOME=/usr/lib/java
export MANPATH=\"\${MANPATH}:\${JAVA_HOME}/man\"
export PATH=\"\${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin\"" >$PKG/etc/profile.d/jre.sh
chmod +x $PKG/etc/profile.d/jre.sh
chmod +x $PKG/etc/profile.d/jre.csh

mv $PKG/usr/java/jre*/* $PKG/usr/lib/java/
ln -s $PKG/usr/lib/java/ $PKG/usr/lib/$(ls $PKG/usr/java/ | cut -d "/" -f1)
rm -Rf $PKG/usr/java


ln -s /usr/lib/java/lib/i386/libnpjp2.so $PKG/usr/lib/mozilla/plugins/libnpjp2.so
ln -s /usr/lib/java/lib/i386/server/libjvm.so $PKG/usr/lib/libjvm.so
sleep 3

# Entrada a escritorio
echo "[Desktop Entry]
Exec=/usr/lib/java/bin/jcontrol
Icon=sun-jcontrol.png
Name[es]=Java Control Panel
Name=Java Control Panel
Categories=Settings
StartupNotify=false
Terminal=false
Type=Application" >$PKG/usr/share/applications/sun_java.desktop
}

###################################
## 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
# Empezamos a crear el paquete
F_crearpaquete
#Creamos xzm , instalamos y salimos
f_tareasFinales

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #69 en: 13-09-2014, 04:02 (Sábado) »
Ya tengo acabada la categoria Sistema , mañana subire los scripts.

He eliminado q4wine , por que con winetricks es suficiente y por que el q4wine se me antojaba hipercomplicado.
El script kernel-compiler no lo voy a portar por ser demasiado complejo y tener infinidad de variables que solo se usan hay ...  con el del driver ati , probablemente pase igual.


ME PIDO OFICINA

Mañana por la mañana actualizare el ftp

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #70 en: 13-09-2014, 14:06 (Sábado) »
ftp sincronizado ... categoría sistema portada , menos el kernel-updater , que creo es un poco delicado tocarlo.

el q4wine paso a mejor vida  ;D

esta noche creo podre hacer los 3 que hay en Oficina.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #71 en: 13-09-2014, 21:24 (Sábado) »
funciones.sh    13/09/2014

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

# Script by www.seguridadwireless.net

SCRIPT_VERSION=20140913

# 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 5
   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 5
   cd $PKG
# Variable para acrobat reader que no puede ser stripado
   if [ ! $PRGNAM = adobe-reader ]; 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
}

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #72 en: 13-09-2014, 21:24 (Sábado) »
Yo lo haría como en la función de f_arquitectura: si enviamos como parámetro "nostrip", no hará nada (pero el comportamiento por defecto es que haga strip).




Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #73 en: 13-09-2014, 21:24 (Sábado) »
voy a necesitar ayudita.


hay algun que otro script que renombra el modulo al final , añadiendo un numero y tal ..cosa que la funcion de tareasfinales no puede saber ...

o como el caso de ahora...que en tareasfinales se aplica stripdir , y me encuentro que adobe-reader no puede ser estripado.


he hecho un apaño temporal , pero si surgen mas no se como hacer.

Código: [Seleccionar]
# Variable para acrobat reader que no puede ser stripado
   if [ ! $PRGNAM = adobe-reader ]; then
   stripdir $PKG 2>/dev/null
   fi


esa regla aplica stripdir , SIEMPRE QUE EL PAQUETE NO SEA ABOBE-READER

¿y si ahora tubiera que añadir otro excluido ?  ... es lo que no se como hacer...


podria añadir otro if , pero creo el maximo son dos...


# Variable para acrobat reader que no puede ser stripado
   if [ ! $PRGNAM = adobe-reader ]; then
   if [ ! $PRGNAM = OTRO-NO-STRIPABLE]; then
   stripdir $PKG 2>/dev/null
   fi
   fi

¿ se pueden apilar mas, ?¿?¿

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #74 en: 13-09-2014, 21:26 (Sábado) »
Yo lo haría como en la función de f_arquitectura: si enviamos como parámetro "nostrip", no hará nada (pero el comportamiento por defecto es que haga strip).




Saludos

ok , creo que sigo el juego  ...

ARCH=$1

y si no hay nada, se aplica lo que siga .,..

mm, a ver si me aclaro , creo es la mejor opcion , ... nostrip  ;)

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #75 en: 13-09-2014, 21:28 (Sábado) »
Por cierto, aunque prefiero el método del parámetro, pero para cualquier otro caso... en las condiciones if puedes indicar AND (&&) u OR (||) de esta forma:

AND:
if [ condicion1 ] && [ condicion 2] & ....
then
   ...
fi

OR:
if [ condicion1 ] || [ condicion 2] || ....
then
   ...
fi



Saludos

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #76 en: 13-09-2014, 21:32 (Sábado) »
Por cierto, aunque prefiero el método del parámetro, pero para cualquier otro caso... en las condiciones if puedes indicar AND (&&) u OR (||) de esta forma:

AND:
if [ condicion1 ] && [ condicion 2] & ....
then
   ...
fi

OR:
if [ condicion1 ] || [ condicion 2] || ....
then
   ...
fi



Saludos


ok , pero es mas comodo pasarle la variable como el noarch ... por que si son muchos queda muy feo.


stripar se hace justo antes de crear el xzm ... tal vez deberia , sacarlo del bucle de tareas finales ...y crearlo como

f_stripdir

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #77 en: 13-09-2014, 21:37 (Sábado) »
Puedes hacerlo como una función aparte (aunque imagino que tendrías que dividir las tareas finales en dos)... sigo optando por añadir el parámetro y dejarlo casi como está ;)

# Creamos xzm , instalamos y salimos
f_tareasFinales() {
   echo ""
   echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
   sleep 5
   cd $PKG
   if [ $1!="nostrip" ]
   then
       stripdir $PKG 2>/dev/null
   fi  
   cleandir $PKG
...
...



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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14489
Re: Mejorando los scripts wifislax-updaters
« Respuesta #78 en: 13-09-2014, 21:39 (Sábado) »
jajaja , es que esto aun no me lo habias contado

Código: [Seleccionar]
if [ $1=="nostrip" ]

claro que prefiero que siga junto , si no ,  me toca re-editar TODOS los scripts ..para añadir la funcion nueva a las tareas..y si lo apañamos como esta , no es necesario tocar mas ...solo


tareasfinales nostrip

cuando sea necesario y ya esta.   ;) >:( >:(


gracias, voy a probar.



mmm , veo has editado la respuesta , me fijo en la exclamacion ...


   if [ $1!="nostrip" ]
   then
       stripdir $PKG 2>/dev/null
   fi



no seria asi ?¿

   if [ ! $1="nostrip" ]
   then
       stripdir $PKG 2>/dev/null
   fi

de forma que si no hay nostrip , aplicara el stripdir.
« Última modificación: 13-09-2014, 21:41 (Sábado) por USUARIONUEVO »

Fr3dY

  • Visitante
Re: Mejorando los scripts wifislax-updaters
« Respuesta #79 en: 13-09-2014, 21:40 (Sábado) »
No pruebes, que tal y como está hace lo contrario de lo que queremos... lo actualizo en un minuto :D


//FINAL Y MÁS DOS RESPUESTAS