Buen trabajo con lo de las dependencias
Aunque hay que arreglar algunas cosas..
echo ""
echo "${ROJO}No se puedo resolver la dependencia ${AMARILLO}${D}${CIERRE}."
echo ""
exit 0
Cuando el script se cierra porque algo ha salido mal, no se puede cerrar con un "exit 0", ya que el 0 indica que todo ha saldo bien.
Por ejemplo la gui se guía por el código de salida del scrip para saber si la tarea ha terminado con exito o no. Y en caso de que no se cumplan las dependencias, no se instalará el programa pero la gui entenderá que se instaló correctamente.
Esto es estandar, y todos los programas funcionan así, cuando algo ha salido mal el código de salida debe ser mas alto que cero, por ejemplo "exit 1".
Y cuando no hay internet lo mismo, exit 1
Otra cosa..
BUSCAR=`ls /var/log/packages|grep -o ${D}-[0-9]|head -1`
Esto solo busca paquetes cuya versión comience por un número, pero hay paquetes en los que esta regla no se cumple, por ejemplo estos:
HDD-xzm-module-installer-wifislax
autohsgui-beta2-i486-2sw
cdparanoia-III_10.2-i486-1
intercepter-ng-0.5_CE_i486-1sw
iputils-s20140519-i586-1
libcuefile-r475-i586-2sw
libnet-1.2-rc3-i586-1sw
libreplaygain-r475-i586-1sw
musepack-tools-r475-i586-2sw
net-tools-1.60-i486-3-1sw
netdate-bsd4-i486-1
openpyxl-2.3.0-b2-i586-1sw
portaudio-V19-i586-2sw
rfidtool-v0.01-i486-1sw
sakis3g-0.2e-wifislax-noarch-3sw
smpeg-r389-i586-2sw
trendnet_pin_calculator-ESP.0-noarch-1sw
udev_wifislax-rules-1.1-noarch
wesside-ng-i486-1sw
xf86-video-intel-git_20150915_23986f0-i586-1Haciéndolo de esta forma no hay margen de error:
BUSCAR=`ls /var/log/packages|rev|cut -d'-' -f4-|rev|grep -x "$D"`
VERIFICAR=`ls /var/log/packages|rev|cut -d'-' -f4-|rev|grep -x "$D"`
Por otra parte veo paquetes en esa lista que ni siquiera cumplen el estandar de "programa-version-arquitectura-tag", eso es otro tema que también hay que arreglar.