Autor Tema: wifislax-updaters HILO 2  (Leído 147818 veces)

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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #100 en: 16-08-2015, 02:36 (Domingo) »
con esto ya tengo listados los packages aunque haya mas de uno


Código: [Seleccionar]
grep -r -l -o $PRGNAM- /var/log/packages/
luego un bucle for ... y a correr.

aunque si estan en modo live dara igual al siguiente reinicio estaran todos , pero si es desde hdd , es mejor fulminarlas todas y dejar solo la recien compilada.



por ejemplo asi


Código: [Seleccionar]
PRGNAM=yad
DESINSTALAR=`grep -r -l -o yad- /var/log/packages/`

for x in $DESINSTALAR; do
removepkg $x
done

PRGNAM , en el ejemplo esta fijado , pero en los scripts es una variable, con lo que funcionara.


« Última modificación: 16-08-2015, 02:39 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #101 en: 16-08-2015, 02:45 (Domingo) »
funciones_updater


Código: [Seleccionar]
# Elimina una version anterior
f_eliminaVersion() {
   sleep 1
   if [ $PRGNAM = xampp ]; then
   /opt/lampp/lampp stop
   fi
   if [ $PRGNAM = metasploit ]; then
   /etc/rc.d/rc.metasploit stop
   fi
   echo ""
   echo "$ROJO"Eliminando la version del sistema..."$CIERRE"
   sleep 2
   DESINSTALAR=`grep -r -l -o $PRGNAM- /var/log/packages/`

   for x in $DESINSTALAR; do
   removepkg /var/log/packages/$x
   done

}


a falta de probarlo  ;D

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: wifislax-updaters HILO 2
« Respuesta #102 en: 16-08-2015, 03:01 (Domingo) »
Buenas, consejo del día  ;D

No hace falta crear una variable para todo, en este caso por ejemplo no es necesario, se puede prescindir de la variable y así ahorrar lineas de códgo y por lo tanto memoria y recursos del sistema:

Código: [Seleccionar]
# Elimina una version anterior
f_eliminaVersion() {
   sleep 1
   if [ $PRGNAM = xampp ]; then
   /opt/lampp/lampp stop
   fi
   if [ $PRGNAM = metasploit ]; then
   /etc/rc.d/rc.metasploit stop
   fi
   echo ""
   echo "$ROJO"Eliminando la version del sistema..."$CIERRE"
   sleep 2

   for x in `grep -r -l -o $PRGNAM- /var/log/packages/`; do
   removepkg /var/log/packages/$x
   done

}


No va a influir mucho poner una variable de mas en un script pequeño como este, pero si cogemos la costumbre de ahorrar el máximo código posible, al final el sistema irá mas fluido, ya que son muchos scripts en el sistema.
« Última modificación: 16-08-2015, 03:08 (Domingo) por geminis_demon »

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #103 en: 16-08-2015, 03:07 (Domingo) »
¡¡¡ que carb0nnaz0 !!!      >:( >:( >:( >:( >:(


vale, ya ha sonado la flauta , es cuando hay mas de un log package

Código: [Seleccionar]
/opt/wifislax-updaters/Funciones/funciones_updater: línea 124: [: /var/log/packages/yad-0.28.0-i486-1sw: se esperaba un operador binario

eso por que tengo 0.28  y 0.29 
« Última modificación: 16-08-2015, 03:26 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #104 en: 16-08-2015, 03:36 (Domingo) »
bueno , esa parte solventada


Código: [Seleccionar]
  if [ -f $(grep -r -l -o $PRGNAM- /var/log/packages/ | head -1) ]; then

pero veo que fallan mas partes cuando hay mas de un log del mismo paquete , estoy en ello   ;D


vale ya esta .... he tenido en log packages hasta 3 del mismo paquete y no falla  ;D


luego lo subire al git


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

# Script by www.seguridadwireless.net

FUNCIONES_VERSION=20150816

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

# Variables globales
PRGNAM=funciones
VERSION=$FUNCIONES_VERSION
WEB=http://www.downloadwireless.net
DOWNLOAD=$WEB/wifislax-updaters/Funciones/${PRGNAM}_updater
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
BUILD=${BUILD:-1}
TAG=${TAG:-sw}
CWD=$(pwd)

# Vamos a liberar toda la memoria cache
sync && echo 3 > /proc/sys/vm/drop_caches

# Eliminamos posibles ficheros viejos de modificaciones de scripts
rm -rf /opt/wifislax-updaters/*/*~ &>/dev/null

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

# Funcion que muestra Presentacion
f_presentacion() {
clear
sleep 0.1 | echo ""
sleep 0.1 | echo ""
sleep 0.1 | echo "$BLANCO"  "       ******************************"   
sleep 0.1 | echo "$VERDE"   "          Actualizador/Instalador    "   
sleep 0.1 | echo "$VERDE"   "          Paquete: "$AMARILLO"$PRGNAM"                                                 
sleep 0.1 | echo "$VERDE"   "                                   "
sleep 0.1 | echo "$VERDE"   "          www.seguridadwireless.net  "
sleep 0.1 | echo "$BLANCO"  "       ******************************"
sleep 0.1 | echo "$CERRAR"
sleep 1
}

# Comprobar conexion by geminis_demon
f_comprobarConexion() {
   if [ ! "$(ping google.com -c1 2>/dev/null)" ]; then
      echo "No tengo internet ... el script se cerrara."
      echo ""
      sleep 1
      exit 0
   fi
}

# Comprobacion de updates para el script
f_comprobarUpdates() {
   SERVIDOR_WEB="https://raw.githubusercontent.com/wifislax-ng/wifislax-updaters/master"
   DIRECTORIO=$(find /opt/wifislax-updaters -type f -name ${PRGNAM}*| rev | cut -d/ -f2- | rev)
   SERVIDOR_VERSION=$(timeout -s SIGTERM 10 curl -sk $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 github.com -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 -sk $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater -o $DIRECTORIO/${PRGNAM}_updater
         echo ${ROJO}LISTO$CIERRE
         sleep 1
         $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=""
   else
     SLKCFLAGS="-O2"
     LIBDIRSUFFIX=""
   fi
   
# Variable especial para aegisub
   if [ "$PRGNAM" = aegisub ]; then
   if [ "$ARCH" = "i486" ]; then
     SLKCFLAGS="-O2 -march=i686 -mtune=i686"
     LIBDIRSUFFIX=""
   fi
   fi

   set -e
}

# Detecta la version instalada en el sistema
f_versionInstalada() {
   if [ -f $(grep -r -l -o $PRGNAM- /var/log/packages/ | head -1) ]; then
      INSTALADA="$(ls /var/log/packages/$PRGNAM-[0-9]*-* 2>/dev/null|cut -d '/' -f5-|sed "s/^${PRGNAM}-//"|rev|cut -d'-' -f3-|rev|tail -1)"
      echo ""
      echo ""$AMARILLO"La version del sistema es..."$CYAN"$PRGNAM-$INSTALADA"$CIERRE""
      sleep 1
      echo ""
      echo "__________________________________________"
      echo ""
      echo ""$AMARILLO"La version mas nueva en su pagina web es..."$CYAN"$PRGNAM-$VERSION"$CIERRE""
      echo ""
      echo ""$BLANCO"Pulsa $ROJO"ENTER" $BLANCO"si deseas actualizarla""
      read junk
      echo ""
   fi
   
# Si el paquete esta instalado y es el mismo se sube el numero de build
if [ ! -z $INSTALADA ] && [ $INSTALADA = $VERSION ]; then
BUILDLOCAL="$(ls /var/log/packages/$PRGNAM-[0-9]*-* 2>/dev/null|cut -d '/' -f5-|sed "s/^${PRGNAM}-//" | rev | cut -d- -f1 | grep -o [0-9] | head -1)"
BUILD=`expr $BUILDLOCAL + 1`
fi

}

# Elimina una version anterior
f_eliminaVersion() {
   sleep 1
   if [ $PRGNAM = xampp ]; then
   /opt/lampp/lampp stop
   fi
   if [ $PRGNAM = metasploit ]; then
   /etc/rc.d/rc.metasploit stop
   fi
   echo ""
   echo "$ROJO"Eliminando la version del sistema..."$CIERRE"
   sleep 2

   for x in `grep -r -l -o $PRGNAM- /var/log/packages/`; do
   removepkg /var/log/packages/$x
   done

}

# Crea el directorio temporal de trabajo
f_directorioTemporal() {
   TMP=${TMP:-/tmp/build/$PRGNAM}
   PKG=$TMP/package-$PRGNAM
   OUTPUT=${OUTPUT:-/tmp}
   rm -rf $PKG
   mkdir -p $TMP $PKG $OUTPUT
   cd $TMP
}

# Hace strip al paquete
f_strip() {
   cd $PKG
   stripdir $PKG 2>/dev/null
}

# Creamos xzm , instalamos y salimos
f_tareasFinales() {
   # Si el sistema tiene una version anterior se eliminara
   if [ -f $(grep -r -l -o $PRGNAM- /var/log/packages/ | head -1) ]; then
      f_eliminaVersion
   fi
   echo ""
   echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
   # Liberamos memoria
   sync && echo 3 > /proc/sys/vm/drop_caches
# Guardamos los modulos en carpetas por categoria
   cd ..
   CATEGORIA=`echo $CWD | cut -d "/" -f4`
   if [ ! -d $HOME/Desktop/$CATEGORIA ]; then
   mkdir -p $HOME/Desktop/$CATEGORIA
   fi

#Para sigram nos basamos en el log. Para el resto siempre es igual
if [ $PRGNAM = sigram ]; then
cleandir $PKG &>/dev/null
log2xzm $TMP/sigram.log $HOME/Desktop/$CATEGORIA/$PRGNAM-${VERSION}-$ARCH-$BUILD$TAG.xzm
xzm2dir $HOME/Desktop/$CATEGORIA/$PRGNAM-${VERSION}-$ARCH-$BUILD$TAG.xzm /
else
cleandir $PKG &>/dev/null
dir2xzm $PKG $HOME/Desktop/$CATEGORIA/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
xzm2dir $HOME/Desktop/$CATEGORIA/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm /
   fi
# Iniciar algun servicio si existe
   if [ -f $PKG/etc/rc.d/rc.teamviewerd ]; then
   /etc/rc.d/rc.teamviewerd start &>/dev/null
   fi
# Variables especiales para renombrar algunos modulos
   if [ $PRGNAM = jre ]; then
   mv $HOME/Desktop/$CATEGORIA/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm $HOME/Desktop/$CATEGORIA/008-Extra_$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
   fi
   if [ $PRGNAM = "google-chrome" ]; then
   mv $HOME/Desktop/$CATEGORIA/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm $HOME/Desktop/$CATEGORIA/007-Extra_$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 [ $PRGNAM = metasploit ]; then
       /etc/rc.d/rc.metasploit start &> /dev/null
   fi
   if [ $PRGNAM = pulseaudio ]; then
       pulseaudio --start >/dev/null 2>&1
   fi
   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
   
   # Update the X font indexes:
   if [ -x /usr/bin/mkfontdir ]; then
   ( cd /usr/share/fonts/TTF
    mkfontscale . >/dev/null 2>&1
    mkfontdir . >/dev/null 2>&1
   )
   fi

   if [ -x /usr/bin/fc-cache ]; then
   /usr/bin/fc-cache -f >/dev/null 2>&1
   fi
   
   sleep 1
   echo ""
   echo "$VERDE"Bye Bye"$CIERRE"
   echo ""
   sleep 1
# Liberamos memoria
   sync && echo 3 > /proc/sys/vm/drop_caches
# Salimos del script
   exit 0
}
« Última modificación: 16-08-2015, 03:40 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #105 en: 17-08-2015, 20:19 (Lunes) »
AVISO

Esta mañana me di cuenta de un bug en el ultimo cambio que le hice al funciones..

concretamente en el bucle por si hay mas de un log package


   for x in `grep -r -l -o $PRGNAM- /var/log/packages/`; do
   removepkg /var/log/packages/$x
   done



se buscan ficheros en log packages con la concordancia del name de programa y un un guion

$PRGNAM-


eso es incompleto , por que por ejemplo

youtube-dl
youtube-dl-gui


se eliminarian los dos paquetes por la concordancia youtube-dl- cuando en realidad el segundo es la gui grafica.


entonces para estar mas seguro que los resultados son 100%  solo del paquete deseado , pues se añade que despues del nombre de programa, venga un numero

$PRGNAM-[0-9]

y de esa manera evitar errores

vk496

  • Visitante
Re: wifislax-updaters HILO 2
« Respuesta #106 en: 18-08-2015, 21:44 (Martes) »
Los últimos cambios que le has estado dando a funciones_updater me daban problemas con spotify (y sospecho que no seria el unico updater). El problema era que me detectaba spotify instalado cuando no lo estaba. He subido el fix a git y creo qeu funciona bien (me gustaria que lo verificases)

Nota: Lanzo al ire la propuesta de cambiar SCRIPT_VERSION=20150718 por algo como SCRIPT_VERSION=a8a8bda donde a8a8bda es el último commit (cambio) de ese archivo. Con esto se mejoraría el sistema de updates para que cualquier cambio en el código sea motivo suficiente para actualizar.

La motivación de ese cambio es evitar situaciones en las que un script se modifica varias veces en el mismo dia sin que se cambie la fecha (y por tanto, gente que no recibiría la update)

Ya me dirás que te parece @USUARIONUEVO

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #107 en: 18-08-2015, 22:11 (Martes) »
no , no puedes saber el commit antes de subirlo , o hacer el cache ...en cuanto lo haces lo tienes, lo cambias y ya otra vez no es el mismo.  ;D


los scripts se actualizan una vez al dia ... asi que como mucho estaras un dia outdated , no es importante.
« Última modificación: 18-08-2015, 22:12 (Martes) por USUARIONUEVO »

vk496

  • Visitante
Re: wifislax-updaters HILO 2
« Respuesta #108 en: 18-08-2015, 22:17 (Martes) »
Ok, como veas.

Como curiosidad, si se puede ver el commit antes de subirlo al server

Citar
git log --follow archivo | head -1 | awk '{print $2}'

 >:D

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #109 en: 18-08-2015, 22:20 (Martes) »
Ok, como veas.

Como curiosidad, si se puede ver el commit antes de subirlo al server

Citar
git log --follow archivo | head -1 | awk '{print $2}'

 >:D

Salu2

si men , pero editaras el script ¿verdad? , para poner el commit, entonces ya no sera el mismo script y el commit tampoco ...  ;D


con la fecha tienes una nocion , con las letras no tanto , ya que tienes que ir al sitio y mirar logs etc ,cambios, y no quiero complicarme la vida.


si hay un cambio gordo , se avisa en el foro y ya esta, si solo es arreglar un updater por que no pillaba la version , eso no es tan grave.


en cualquier caso ,el updatergui , se autoejecuta al inicio , y una vez al dia, actualizara los scripts, el desfase puede ser maximo de 24 horas.



Voy a clonar el git , para la iso desarrollo.  ;)
« Última modificación: 18-08-2015, 22:21 (Martes) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #110 en: 18-08-2015, 23:36 (Martes) »
@vk496

Pues si , afectaba a todos los paquetes que aun no estaban instalados.

REvisando updaters vi hashcat 1.37 , y al ejecutar el script , intentaba mostrar version de sistema, cuando en realidad no esta instalado.


 ;D ;D ;D ;D

vk496

  • Visitante
Re: Re: wifislax-updaters HILO 2
« Respuesta #111 en: 18-08-2015, 23:42 (Martes) »
@vk496

Pues si , afectaba a todos los paquetes que aun no estaban instalados.

REvisando updaters vi hashcat 1.37 , y al ejecutar el script , intentaba mostrar version de sistema, cuando en realidad no esta instalado.


 ;D ;D ;D ;D
A mi lo que me ha matado es la variable INSTALADA.

Si eliminas la línea

INSTALADA=""

Bash peta porque la variable no está inicializada/declarada o algo así.

Y de verdad que me intriga saber porqué pasa eso...

Salu2

Enviado desde mi Nexus 5 mediante Tapatalk


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: Re: wifislax-updaters HILO 2
« Respuesta #112 en: 18-08-2015, 23:53 (Martes) »
@vk496

Pues si , afectaba a todos los paquetes que aun no estaban instalados.

REvisando updaters vi hashcat 1.37 , y al ejecutar el script , intentaba mostrar version de sistema, cuando en realidad no esta instalado.


 ;D ;D ;D ;D
A mi lo que me ha matado es la variable INSTALADA.

Si eliminas la línea

INSTALADA=""

Bash peta porque la variable no está inicializada/declarada o algo así.

Y de verdad que me intriga saber porqué pasa eso...

Salu2

Enviado desde mi Nexus 5 mediante Tapatalk




a mi tambien , puede que fuese cuando hice el loop ...  ^-^ :-\


bueno , pero eso pasa cuando una funcion llama ala variable


$INSTALADA

y no existe   ;D
« Última modificación: 18-08-2015, 23:57 (Martes) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #113 en: 24-08-2015, 23:47 (Lunes) »
Los updaters ya han sido eliminados del ftp , ahora solo estan en github.


Por si alguien se ha quedado descolgado , que seguro que si , dejo el modulo de scripts actualizados, y que trabajan sobre github.

http://www.mediafire.com/download/q9q969xisajhhgl/wifislax_updaters-5.2_github-noarch-1sw.xzm


Recomendable que actualicesi el wifislaxupdatergui , a la version 1.9

Ok, prueba ahora a ver que tal: https://mega.nz/#!ZpwFCYwZ!UeYpinRalk7hKqv31glDjGWjsEGiWYswTg8S2sj49Tc

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: wifislax-updaters HILO 2
« Respuesta #114 en: 25-08-2015, 01:05 (Martes) »
Pero si los quitas del ftp en Wifislax 4.11.1 no funcionarán los updaters ya que no están adaptados para github... no?

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #115 en: 25-08-2015, 01:21 (Martes) »
Pero si los quitas del ftp en Wifislax 4.11.1 no funcionarán los updaters ya que no están adaptados para github... no?


en el ftp , habia copias de los scripts de github , que si se han hido actualizando , (aunque solo sea el funciones) , se habran redirigido a github al bajarse del ftp , las copias que trabajan ya alli.

y si no , pues no se ha perdido mucho ,  dejo el modulo , de todas formas el ftp no va desde hace semanas....

vk496

  • Visitante
Re: wifislax-updaters HILO 2
« Respuesta #116 en: 27-08-2015, 22:56 (Jueves) »
@USUARIONUEVO

Estoy intentando hacer un updater y creo que hay conflictos con los ultimos cambios que le ahs pegado a funciones_updater

Concretamente, quiero hacer el de hiredis_updater

el updater:

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

# Script by www.seguridadwireless.net

SCRIPT_VERSION=20150827

############################################################
## 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=hiredis
echo -ne "\033]2;${PRGNAM}_updater\007"
WEB="https://github.com/redis/hiredis"
VERSION=$(curl -sk ${WEB}/tags | grep "tag-name" -m1 |grep -Po '">\K.*(?=<)'| cut -dv -f2)
DOWNLOAD="$WEB/archive/v$VERSION.tar.gz"
}

# Si el paquete no existe se descargara de internet
F_download(){
if [ ! -f $PRGNAM-$VERSION.tar.gz ]; then
echo
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 1
aria2c -x 3 $DOWNLOAD
fi
}

# Descomprimimos el fichero descargado y compilamos
F_compilar(){
echo
echo "$VERDE"Descomprimiendo ..."$CIERRE"
tar -xvf $PRGNAM-$VERSION.tar.gz
sleep 1
cd $PRGNAM-$VERSION
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 {} \;

make -j$NUCLEOS OPTIMIZATION="" DEBUG="" CFLAGS="$SLKCFLAGS" \
    PREFIX=/usr LIBRARY_PATH=lib${LIBDIRSUFFIX}
make install DESTDIR=$PKG PREFIX=/usr LIBRARY_PATH=lib${LIBDIRSUFFIX}

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

}

###################################
## 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
#Creamos directorios extra
#F_extradirs
#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
#Descomprimir fichero descargado y compilamos
F_compilar
#Hacemos strip sobre el paquete
f_strip
#Creamos xzm , instalamos y salimos
f_tareasFinales

El slack:

http://slackbuilds.org/repository/14.1/libraries/hiredis/

En principio debería ir.... PERO...

Código: [Seleccionar]
        ******************************
           Actualizador/Instalador   
           Paquete: hiredis
                                   
           www.seguridadwireless.net 
        ******************************

Version Script: 27/08/2015

Descargando sources de hiredis-0.13.2
[#c0ddef 32KiB/56KiB(56%) CN:1 DL:112KiB]                                     
08/27 22:41:48 [NOTICE] Descarga completa: /tmp/build/hiredis/hiredis-0.13.2.tar.gz

Resultados de la descarga:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
c0ddef|OK  |    56KiB/s|/tmp/build/hiredis/hiredis-0.13.2.tar.gz

Leyenda:
(OK):descarga completada.

Descomprimiendo ...
hiredis-0.13.2/
hiredis-0.13.2/.gitignore
hiredis-0.13.2/.travis.yml
hiredis-0.13.2/CHANGELOG.md
hiredis-0.13.2/COPYING
hiredis-0.13.2/Makefile
hiredis-0.13.2/README.md
hiredis-0.13.2/adapters/
hiredis-0.13.2/adapters/ae.h
hiredis-0.13.2/adapters/glib.h
hiredis-0.13.2/adapters/ivykis.h
hiredis-0.13.2/adapters/libev.h
hiredis-0.13.2/adapters/libevent.h
hiredis-0.13.2/adapters/libuv.h
hiredis-0.13.2/adapters/macosx.h
hiredis-0.13.2/adapters/qt.h
hiredis-0.13.2/async.c
hiredis-0.13.2/async.h
hiredis-0.13.2/dict.c
hiredis-0.13.2/dict.h
hiredis-0.13.2/examples/
hiredis-0.13.2/examples/example-ae.c
hiredis-0.13.2/examples/example-glib.c
hiredis-0.13.2/examples/example-ivykis.c
hiredis-0.13.2/examples/example-libev.c
hiredis-0.13.2/examples/example-libevent.c
hiredis-0.13.2/examples/example-libuv.c
hiredis-0.13.2/examples/example-macosx.c
hiredis-0.13.2/examples/example-qt.cpp
hiredis-0.13.2/examples/example-qt.h
hiredis-0.13.2/examples/example.c
hiredis-0.13.2/fmacros.h
hiredis-0.13.2/hiredis.c
hiredis-0.13.2/hiredis.h
hiredis-0.13.2/net.c
hiredis-0.13.2/net.h
hiredis-0.13.2/read.c
hiredis-0.13.2/read.h
hiredis-0.13.2/sds.c
hiredis-0.13.2/sds.h
hiredis-0.13.2/test.c
hiredis-0.13.2/win32.h
cc -std=c99 -pedantic -c  -fPIC -O2 -march=i586 -mtune=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings  i586 net.c
cc -std=c99 -pedantic -c  -fPIC -O2 -march=i586 -mtune=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings  i586 hiredis.c
cc -std=c99 -pedantic -c  -fPIC -O2 -march=i586 -mtune=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings  i586 sds.c
cc -std=c99 -pedantic -c  -fPIC -O2 -march=i586 -mtune=i686 -Wall -W -Wstrict-prototypes -Wwrite-strings  i586 async.c
cc: error: i586: No existe el fichero o el directorio
cc: error: i586: No existe el fichero o el directorio
cc: error: i586: No existe el fichero o el directorio
cc: error: i586: No existe el fichero o el directorio
make: *** [sds.o] Error 1
make: *** Se espera a que terminen otras tareas....
make: *** [net.o] Error 1
make: *** [hiredis.o] Error 1
make: *** [async.o] Error 1



Creo que se debe al cambio que le has pegado a la funcion de arquitectura.

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #117 en: 27-08-2015, 23:04 (Jueves) »
yo lo acabo de compilar , ...

creo que lo que te esta dando guerra es el i586


edita a mano el funciones i cambialo a i486  y donde march=586  lo mismo

y prueba.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #118 en: 27-08-2015, 23:06 (Jueves) »
es decir ..esto

# 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=i586 ;;
        arm*) export ARCH=arm ;;
        *) export ARCH=$( uname -m ) ;;
     esac
   fi

   if [ "$ARCH" = "i586" ]; then
   SLKCFLAGS="-O2 -march=i586 -mtune=i686"
   LIBDIRSUFFIX=""
   else
   SLKCFLAGS="-O2"
   LIBDIRSUFFIX=""
   fi

   set -e
}



por esto otro


# 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=""
   else
   SLKCFLAGS="-O2"
   LIBDIRSUFFIX=""
   fi

   set -e
}

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14478
Re: wifislax-updaters HILO 2
« Respuesta #119 en: 27-08-2015, 23:10 (Jueves) »
no tengo ya 486 , estoy migrando todo a 586 , por que slackware va en desarrollo a ese rumbo ..


pero podria crear una variable ...aunque habria que estar atento despues a demsontar eso ...pero podria ser

si

version mayor a wifislax 4.11.1  , entonces i586 , si es menor entonces i486

¿trato?


para segurarse , seria quitar los puntos en la numeracion y segurar una longitud , por ejemplo 5 numeros, añadiendo al final un cero , si solo hay cuatro en alguna variable de version.
« Última modificación: 27-08-2015, 23:13 (Jueves) por USUARIONUEVO »