#!/bin/bash export TEXTDOMAIN="zero-lliurex-adobeair" MSG_NO_INTERNET=$(gettext "No Internet Connection has been detected. Please, check it") MSG_BAJAR=$(gettext "Adobe Air will now be downloaded. Aprox. size 10,3MB") MSG_LOCALIZAR=$(gettext "Now you can install your Adobe AIR application. Use Applications-Accesories-Adobe AIR Applications Installer.") URL_ADOBEAIR="http://lliurex.net/recursos-edu/misc/" VERSION="AdobeAIRInstaller.bin" LOG_FILE="/root/.appdata/Adobe/AIR/Logs/Install.log" PACKAGE_NAME="adobeair" TMP_LOG="/tmp/zero-adobeair.log" zero-center add-pulsating-color zero-lliurex-adobeair #Antes de nada comprobamos que no existe el Adobe air en el Sistema sino se desinstala TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 ) if [ "$TEST" = 'installed' ]; then echo "Package $PACKAGE_NAME already installed, we have to uninstall it" su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$PACKAGE_NAME is already installed in your system, now we are goig to remove it and install it again.'" $USER touch $TMP_LOG (apt-get remove -y $PACKAGE_NAME > $TMP_LOG ; rm $TMP_LOG) & #Mientras que el fichero de ayuda existe es que estamos instalando #Cuando ya no exista saldremos del while while [ -f "$TMP_LOG" ]; do #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos. VAR=$( tail -1 $TMP_LOG 2>/dev/null ) #Hacemos echo de los datos que necesita el zenity echo "#Uninstalling.......$VAR" | cut -c1-85 #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla done | zenity --progress --auto-close --pulsate --width 500 --title="Zero-Center-Uninstaller" --no-cancel > /dev/null 2>&1 fi #Borro el fichero si antes fue descargado para poder de nuevo descargarlo rm /tmp/$VERSION #Comprobar conexi??n a internet elaula=www.lliurexforever.jai n4d-vars listvars | grep HOSTNAME if [ $? -eq 0 ]; then elhost=$(n4d-vars getvalues HOSTNAME | cut -d"'" -f2) eldominio=$(n4d-vars getvalues INTERNAL_DOMAIN | cut -d"'" -f2) elaula=$elhost"."$eldominio fi ###### COMPROBAMOS SI ES PARA 64 BITS O 32 Y ELEGIMOS INSTALACION EN CADA CASO uname -m > /tmp/architectur.txt if [ $(grep "x86_64" /tmp/architectur.txt) ] ; then ARCH="64" echo "64 Bits distro, upgrading your system............" else ARCH="32" fi echo "Version de la maquina $ARCH bits" if [ $ARCH = "64" ] ; then ########PREPARACION DEL SISTEMA PARA INSTALACION EN DISTRO DE 64 BITS #Comprobar conexi??n a internet e instalar rc=0 zero-testnet || rc=1 if [ $rc -eq 0 ] then dpkg --add-architecture i386 apt-get update #echo "libgtk2.0-0:i386 libstdc++6:i386 libnss3-1d:i386 lib32nss-mdns libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386" | tr " " "\n" > /tmp/list64.txt #echo "libxt6:i386 libnspr4-0d:i386 libgtk2.0-0:i386 libstdc++6:i386 libnss3-1d:i386 lib32nss-mdns libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386" | tr " " "\n" > /tmp/list64.txt # EN XENIAL CAMBIAR lib32nss-mdns POR libnss-mdns:i386 echo "libxt6:i386 install" > /tmp/list64.txt echo "libnspr4-0d:i386 install" >> /tmp/list64.txt echo "libgtk2.0-0:i386 install" >> /tmp/list64.txt echo "libstdc++6:i386 install" >> /tmp/list64.txt echo "libnss3-1d:i386 install" >> /tmp/list64.txt echo "lib32nss-mdns install" >> /tmp/list64.txt echo "libxml2:i386 install" >> /tmp/list64.txt echo "libxslt1.1:i386 install" >> /tmp/list64.txt echo "libcanberra-gtk-module:i386 install" >> /tmp/list64.txt echo "gtk2-engines-murrine:i386 install" >> /tmp/list64.txt zero-installer -l /tmp/list64.txt ######COMPROBAMOS QUE LA LISTA SE INSTALO BIEN ABORTANDO EL PROCESO SI FALLO ALGUN PAQUETE fgrep "is not in repository" /tmp/zero-list64.txt.log # Comprobacion que faltaba algun paquete en el repositorio if [ "$?" == "0" ]; then zenity --info --title="Zero-installer" --text="We can't install some packages from your repository view details in /tmp/zero-list64.txt.log " > /dev/null 2>&1 & exit 1 fi #Comprobacion de que los paquetes estan instalados sin problemas. for PACKET in $( cat /tmp/list64.txt | awk '{print$1}' ) do PKG_OK=$(dpkg-query -W --showformat='${Status}\n' $PACKET | grep "install ok installed") if [ "" == "$PKG_OK" ]; then zenity --info --title="Zero-installer" --text="We can't install some packages from your repository view details in /tmp/zero-list64.txt.log " > /dev/null 2>&1 & echo echo "Some or any packages are not installed" echo exit 1 fi done # Creacion de los enlaces para la instalacion del AdobeAir segun propia pagina web echo "##########################" echo "Packages installed" echo echo "Now creating ln .........." echo "##########################" ( sleep 2 cd /tmp rm libgnome-keyring0_3.8.0-2_i386.deb apt-get download libgnome-keyring0:i386 echo "20" dpkg-deb -R libgnome-keyring0_3.8.0-2_i386.deb gnome-keyring echo "40" sleep 2 cp gnome-keyring/usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/ cd / echo "60" sleep 1 [ -e /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 ] && rm /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 echo "80" sleep 1 [ -e /usr/lib/libgnome-keyring.so.0 ] && rm /usr/lib/libgnome-keyring.so.0 ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 echo "90" sleep 1 [ -e /usr/lib/libgnome-keyring.so.0.2.0 ] && rm /usr/lib/libgnome-keyring.so.0.2.0 ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0 ) | zenity --progress \ --title="Zero-LliureX-AdobeAir" \ --text="Prepare the system to install AdobeAir 64 Bits" \ --percentage=0 \ --auto-close \ --width=500 \ --auto-kill ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA #Comprobar conexi??n a internet e instalar rc=0 zero-testnet || rc=1 if [ $rc -eq 0 ] then #su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER #Vamos a comprobar si estamos en el aula y si somos el server, para segun que caso poner el proxy para la descarga o no. rc=0 host $elaula || rc=1 if [ $rc -eq 0 ] then rc=0 dpkg -l zero-server-wizard || rc=1 if [ $rc -eq 1 ]; then export http_proxy="proxy:3128" fi su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp" else su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp" fi su $USER -c "chmod +x /tmp/$VERSION" touch /tmp/zero-install.log #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) & #Mientras que el fichero de ayuda existe es que estamos instalando #Cuando ya no exista saldremos del while while [ -f "/tmp/zero-install.log" ]; do #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos. VAR=$( tail -1 $LOG_FILE 2>/dev/null ) #Hacemos echo de los datos que necesita el zenity echo "#Installing.......$VAR" | cut -c1-85 #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla done | zenity --progress --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1 su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed" TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 ) if [ "$TEST" != 'installed' ]; then zenity --info --title="Zero-installer" --text="Your package $PACKAGE_NAME has a problem to be installed in your system, please retry again or contact with Lliurex Team at http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 & zero-center remove-pulsating-color zero-lliurex-adobeair zero-center set-non-configured zero-lliurex-adobeair zero-center set-non-configured zero-lliurex-adobeair-scratch2 exit 1 fi rm /usr/lib/libgnome-keyring.so.0 rm /usr/lib/libgnome-keyring.so.0.2.0 zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 & else ######NO TENEMOS CONEXION INTERNET zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1 zero-center set-non-configured zero-lliurex-adobeair-scratch2 zero-center set-non-configured zero-lliurex-adobeair zero-center remove-pulsating-color zero-lliurex-adobeair exit 1 fi else ######NO TENEMOS CONEXION A INTERNET zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1 zero-center set-non-configured zero-lliurex-adobeair-scratch2 zero-center set-non-configured zero-lliurex-adobeair zero-center remove-pulsating-color zero-lliurex-adobeair exit 1 fi else #######SOLO PARA ARQUITECTURAS DE 32 BITS #Problemas al instalar adobeair requieren de la creaci??n manual de links Lso0="FALSE" Lso020="FALSE" uname -a | grep -q "x86_64" if [ $? -eq 0 ]; then if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 Lso0="TRUE" fi if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0 Lso020="TRUE" fi else if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0 Lso0="TRUE" fi if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0 Lso020="TRUE" fi fi ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA #Comprobar conexi??n a internet e instalar rc=0 zero-testnet || rc=1 if [ $rc -eq 0 ] then #su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER #Vamos a comprobar si estamos en el aula y si somos el server, para segun que caso poner el proxy para la descarga o no. rc=0 host $elaula || rc=1 if [ $rc -eq 0 ] then rc=0 dpkg -l zero-server-wizard || rc=1 if [ $rc -eq 1 ]; then export http_proxy="proxy:3128" fi su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp" else su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp" fi su $USER -c "chmod +x /tmp/$VERSION" touch /tmp/zero-install.log #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) & #Mientras que el fichero de ayuda existe es que estamos instalando #Cuando ya no exista saldremos del while while [ -f "/tmp/zero-install.log" ]; do #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos. VAR=$( tail -1 $LOG_FILE 2>/dev/null ) #Hacemos echo de los datos que necesita el zenity echo "#Installing.......$VAR" | cut -c1-85 #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla done | zenity --progress --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1 su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed" TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 ) if [ "$TEST" != 'installed' ]; then zenity --info --title="Zero-installer" --text="Your package $PACKAGE_NAME has a problem to be installed in your system, please retry again or contact with Lliurex Team at http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 & zero-center remove-pulsating-color zero-lliurex-adobeair zero-center set-non-configured zero-lliurex-adobeair zero-center set-non-configured zero-lliurex-adobeair-scratch2 exit 1 fi #Devolver los links a su estado if [ Lso0 ]; then ls /usr/lib/libgnome-keyring* sudo rm -rf /usr/lib/libgnome-keyring.so.0 fi if [ Lso020 ]; then ls /usr/lib/libgnome-keyring* sudo rm -rf /usr/lib/libgnome-keyring.so.0.2.0 fi zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 & else ######NO TENEMOS CONEXION INTERNET zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1 zero-center set-non-configured zero-lliurex-adobeair-scratch2 zero-center set-non-configured zero-lliurex-adobeair zero-center remove-pulsating-color zero-lliurex-adobeair exit 1 fi fi zero-center set-non-configured zero-lliurex-adobeair-scratch2 zero-center remove-pulsating-color zero-lliurex-adobeair zero-center set-configured zero-lliurex-adobeair exit 0