source: zero-lliurex-adobeair/trunk/fuentes/zero-lliurex-adobeair.zlaunchers/zero-lliurex-adobeair.zmd @ 5372

Last change on this file since 5372 was 5372, checked in by daduve, 3 years ago

Change axel to wget in adobeair.zmd

File size: 14.3 KB
Line 
1#!/bin/bash
2
3export TEXTDOMAIN="zero-lliurex-adobeair"
4MSG_NO_INTERNET=$(gettext "No Internet Connection has been detected. Please, check it")
5MSG_BAJAR=$(gettext "Adobe Air will now be downloaded. Aprox. size 10,3MB")
6MSG_LOCALIZAR=$(gettext "Now you can install your Adobe AIR application. Use Applications-Accesories-Adobe AIR Applications Installer.")
7MSG_ALREADY_INSTALLED=$(gettext "is already installed in your system, now we are goig to remove it and install it again")
8PACKAGE_WORD=$(gettext "Package")
9UNINSTALLING=$(gettext "Uninstalling")
10ALREADY_INSTALLED=$(gettext "already installed, we have to uninstall it")
11UPGRADING_SYSTEM=$(gettext "Bits distro, upgrading your system")
12VERSION_OF_MACHINE=$(gettext "Version de la maquina")
13COULDNT_BE_INSTALLED=$(gettext "For some reason some packages couldn't be installed. View details in")
14PACKAGES_NOT_INSTALLED=$(gettext "Some or any packages are not installed")
15CANT_INSTALL_FROM_REPO=$(gettext "We can't install some packages from your repository view details in")
16PREPARE_SYSTEM=$(gettext "Prepare the system to install")
17INSTALLING=$(gettext "Installing")
18HAS_A_PROBLEM=$(gettext "has a problem to be installed in your system, please retry again or contact with Lliurex Team at")
19
20URL_ADOBEAIR="http://lliurex.net/recursos-edu/misc/"
21VERSION="AdobeAIRInstaller.bin"
22LOG_FILE="/tmp/zero-adobeair.log"
23PACKAGE_NAME="adobeair"
24TMP_LOG="/tmp/zero-adobeair_tmp.log"
25
26
27zero-center add-pulsating-color zero-lliurex-adobeair
28
29
30#Antes de nada comprobamos que no existe el Adobe air en el Sistema sino se desinstala
31
32TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
33        if [ "$TEST" = 'installed' ]; then
34                echo "$PACKAGE_WORD $PACKAGE_NAME $ALREADY_INSTALLED"
35                su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$PACKAGE_NAME $MSG_ALREADY_INSTALLED.'" $USER
36                touch $TMP_LOG
37                (apt-get remove -y $PACKAGE_NAME > $TMP_LOG ; rm $TMP_LOG) &
38                #Mientras que el fichero de ayuda existe es que estamos instalando
39                #Cuando ya no exista saldremos del while
40                        while [ -f  "$TMP_LOG" ]; do
41                                #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
42                                #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
43                                VAR=$( tail -1 $TMP_LOG 2>/dev/null )
44                                #Hacemos echo de los datos que necesita el zenity
45                                echo "#$UNINSTALLING.......$VAR" | cut -c1-85
46                                #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
47                        done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Uninstaller" --no-cancel > /dev/null 2>&1
48        fi
49
50
51
52#Borro el fichero si antes fue descargado para poder de nuevo descargarlo
53rm /tmp/$VERSION
54
55#Comprobar conexi??n a internet
56elaula=www.lliurexforever.jai
57
58n4d-vars listvars | grep HOSTNAME
59
60if [ $? -eq 0 ]; then
61        elhost=$(n4d-vars getvalues HOSTNAME | cut -d"'" -f2)
62        eldominio=$(n4d-vars getvalues INTERNAL_DOMAIN | cut -d"'" -f2)
63        elaula=$elhost"."$eldominio
64fi
65
66###### COMPROBAMOS SI ES PARA 64 BITS O 32 Y ELEGIMOS INSTALACION EN CADA CASO
67
68uname -m > /tmp/architectur.txt
69if [ $(grep "x86_64" /tmp/architectur.txt) ] ; then
70        ARCH="64"
71        echo "64 $UPGRADING_SYSTEM............"
72else
73        ARCH="32"
74fi
75echo "$VERSION_OF_MACHINE $ARCH bits"
76
77if [ $ARCH = "64" ] ; then
78       
79        ########PREPARACION DEL SISTEMA PARA INSTALACION EN DISTRO DE 64 BITS
80       
81        #Comprobar conexi??n a internet e instalar
82        rc=0
83        zero-testnet || rc=1
84        if [ $rc -eq 0 ]
85               
86                then
87                        dpkg --add-architecture i386
88                        #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
89                         #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
90                        echo "libxt6:i386 install" > /tmp/list64.txt
91                        echo  "libnspr4-0d:i386 install"  >> /tmp/list64.txt
92                        echo "libgtk2.0-0:i386 install"  >> /tmp/list64.txt
93                        echo "libstdc++6:i386 install" >> /tmp/list64.txt
94                        echo "libnss3-1d:i386 install" >> /tmp/list64.txt
95                        echo "libnss-mdns:i386 install" >> /tmp/list64.txt
96                        echo "libxml2:i386 install" >> /tmp/list64.txt
97                        echo "libxslt1.1:i386 install"  >> /tmp/list64.txt
98                        echo "libcanberra-gtk-module:i386 install" >> /tmp/list64.txt
99                        echo "gtk2-engines-murrine:i386 install" >> /tmp/list64.txt
100                        zero-installer -l /tmp/list64.txt
101               
102                        if [ $? -ne 0 ]
103                        then
104                               
105                                zenity --info --title="Zero-installer" --text="$COULDNT_BE_INSTALLED /tmp/zero-list64.txt.log " > /dev/null 2>&1 &
106                                echo
107                                echo "$PACKAGES_NOT_INSTALLED"
108                                echo
109                                exit 1
110                        fi
111       
112                        ######COMPROBAMOS QUE LA LISTA SE INSTALO BIEN ABORTANDO EL PROCESO SI FALLO ALGUN PAQUETE
113                        fgrep "is not in repository" /tmp/zero-list64.txt.log
114                       
115                        # Comprobacion que faltaba algun paquete en el repositorio
116                        if  [ "$?" == "0" ]; then
117                                zenity --info --title="Zero-installer" --text="$CANT_INSTALL_FROM_REPO /tmp/zero-list64.txt.log " > /dev/null 2>&1 &
118                                exit 1
119                        fi
120                       
121                        #Comprobacion de que los paquetes estan instalados sin problemas.
122                       
123                        for PACKET in $( cat /tmp/list64.txt | awk '{print$1}' )
124                        do
125                                PKG_OK=$(dpkg-query -W --showformat='${Status}\n'  $PACKET | grep "install ok installed")
126                                if [ "" == "$PKG_OK" ]; then
127                                        zenity --info --title="Zero-installer" --text="$CANT_INSTALL_FROM_REPO /tmp/zero-list64.txt.log " > /dev/null 2>&1 &
128                                        echo
129                                        echo "$PACKAGES_NOT_INSTALLED"
130                                        echo
131                                        exit 1
132                                fi
133                        done
134                       
135                        # Creacion de los enlaces para la instalacion del AdobeAir segun propia pagina web
136                        echo "##########################"
137                        echo "Packages installed"
138                        echo
139                        echo "Now creating ln .........."
140                        echo "##########################"
141
142                        (
143                        sleep 2
144                        cd /tmp
145                        NAME=$(ls /tmp/|egrep '^libgnome-keyring0.*')
146                        rm /tmp/${NAME}
147                        apt-get download libgnome-keyring0:i386
148                        echo "20"
149                        NAME=$(ls /tmp/|egrep '^libgnome-keyring0.*')
150                        dpkg-deb -R ${NAME} gnome-keyring
151                        echo "40"
152                        sleep 2
153                        cp gnome-keyring/usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/
154                        cd /
155                        echo "60"
156                        sleep 1
157                        [ -e /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 ] && rm -f /usr/lib/i386-linux-gnu/libgnome-keyring.so.0
158                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/libgnome-keyring.so.0
159                        echo "80"
160                        sleep 1
161                        [ -e /usr/lib/libgnome-keyring.so.0 ] && rm -f /usr/lib/libgnome-keyring.so.0
162                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
163                        echo "90"
164                        sleep 1
165                        [ -e /usr/lib/libgnome-keyring.so.0.2.0 ] && rm -f /usr/lib/libgnome-keyring.so.0.2.0
166                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
167                        ) | 
168                        zenity --progress \
169                        --title="Zero-LliureX-AdobeAir" \
170                        --text="$PREPARE_SYSTEM AdobeAir 64 Bits" \
171                        --percentage=0 \
172                        --auto-close \
173                        --width=500 \
174                        --auto-kill
175
176                       
177                        ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA
178                        #Comprobar conexi??n a internet e instalar
179                        rc=0
180                        zero-testnet || rc=1
181                        if [ $rc -eq 0 ]
182                                then
183                                        #su -c "notify-send -t 5000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER
184                                        #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.
185                                        rc=0
186                                        host $elaula || rc=1
187                                        if [ $rc -eq 0 ]
188                                                then
189                                                        rc=0
190                                                        dpkg -l zero-server-wizard || rc=1
191                                                        if [ $rc -eq 1 ]; then
192                                                                export http_proxy="proxy:3128"
193                                                        fi
194                                                        su $USER -c "zero-lliurex-wget $URL_ADOBEAIR$VERSION /tmp"
195                                                else
196                                                        su $USER -c "zero-lliurex-wget $URL_ADOBEAIR$VERSION /tmp"
197                                        fi
198                                        su $USER -c "chmod +x /tmp/$VERSION"
199                                       
200                                        touch /tmp/zero-install.log
201                                        #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo
202                                        (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) &
203                                        #Mientras que el fichero de ayuda existe es que estamos instalando
204                                        #Cuando ya no exista saldremos del while
205                                                while [ -f  "/tmp/zero-install.log" ]; do
206                                                        #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
207                                                        #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
208                                                        VAR=$( tail -1 $LOG_FILE  2>/dev/null )
209                                                        #Hacemos echo de los datos que necesita el zenity
210                                                        echo "#$INSTALLING.......$VAR" | cut -c1-85
211                                                        #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
212                                                done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1
213                                                           
214                                        su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed"
215                                        TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
216                                        if [ "$TEST" != 'installed' ]; then
217                                                zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $HAS_A_PROBLEM http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 &
218                                                zero-center remove-pulsating-color zero-lliurex-adobeair
219                                                zero-center set-non-configured zero-lliurex-adobeair
220                                                zero-center set-non-configured zero-lliurex-adobeair-scratch2
221                                                exit 1
222                                        fi
223                                       
224                                        rm /usr/lib/libgnome-keyring.so.0
225                                        rm /usr/lib/libgnome-keyring.so.0.2.0
226                                        zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 &
227                                else
228                                        ######NO TENEMOS CONEXION INTERNET
229                                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
230                                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
231                                        zero-center set-non-configured zero-lliurex-adobeair
232                                        zero-center remove-pulsating-color zero-lliurex-adobeair
233                                        exit 1
234                        fi     
235                       
236                       
237                       
238                        else
239                        ######NO TENEMOS CONEXION A INTERNET
240                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
241                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
242                        zero-center set-non-configured zero-lliurex-adobeair
243                        zero-center remove-pulsating-color zero-lliurex-adobeair
244                        exit 1
245        fi
246else
247        #######SOLO PARA ARQUITECTURAS DE 32 BITS
248
249                #Problemas al instalar adobeair requieren de la creaci??n manual de links
250                Lso0="FALSE"           
251                Lso020="FALSE"
252                uname -a | grep -q "x86_64"
253                if [ $? -eq 0 ]; then 
254                        if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then
255                                sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
256                                Lso0="TRUE"
257                        fi
258                        if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then
259                                sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
260                                Lso020="TRUE"
261                        fi     
262                else
263                        if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then
264                                sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
265                                Lso0="TRUE"
266                        fi
267                        if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then
268                                sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
269                                Lso020="TRUE"
270                        fi
271                fi
272        ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA
273        #Comprobar conexi??n a internet e instalar
274        rc=0
275        zero-testnet || rc=1
276        if [ $rc -eq 0 ]
277                then
278                        #su -c "notify-send -t 5000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER
279                        #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.
280                        rc=0
281                        host $elaula || rc=1
282                        if [ $rc -eq 0 ]
283                                then
284                                        rc=0
285                                        dpkg -l zero-server-wizard || rc=1
286                                        if [ $rc -eq 1 ]; then
287                                                export http_proxy="proxy:3128"
288                                        fi
289                                        su $USER -c "zero-lliurex-wget $URL_ADOBEAIR$VERSION /tmp"
290                                else
291                                        su $USER -c "zero-lliurex-wget $URL_ADOBEAIR$VERSION /tmp"
292                        fi
293                        su $USER -c "chmod +x /tmp/$VERSION"
294                       
295                        touch /tmp/zero-install.log
296                        #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo
297                        (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) &
298                        #Mientras que el fichero de ayuda existe es que estamos instalando
299                        #Cuando ya no exista saldremos del while
300                                while [ -f  "/tmp/zero-install.log" ]; do
301                                        #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
302                                        #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
303                                        VAR=$( tail -1 $LOG_FILE  2>/dev/null )
304                                        #Hacemos echo de los datos que necesita el zenity
305                                        echo "#$INSTALLING.......$VAR" | cut -c1-85
306                                        #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
307                                done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1
308                                           
309                        su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed"
310                        TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
311                        if [ "$TEST" != 'installed' ]; then
312                                zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $HAS_A_PROBLEM http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 &
313                                zero-center remove-pulsating-color zero-lliurex-adobeair
314                                zero-center set-non-configured zero-lliurex-adobeair
315                                zero-center set-non-configured zero-lliurex-adobeair-scratch2
316                                exit 1
317                        fi
318                       
319                        #Devolver los links a su estado
320                        if [ Lso0 ]; then
321                                ls /usr/lib/libgnome-keyring*
322                                sudo rm -rf /usr/lib/libgnome-keyring.so.0
323                        fi
324                        if [ Lso020 ]; then
325                                ls /usr/lib/libgnome-keyring*
326                                sudo rm -rf /usr/lib/libgnome-keyring.so.0.2.0
327                        fi
328                        zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 &
329                else
330                        ######NO TENEMOS CONEXION INTERNET
331                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
332                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
333                        zero-center set-non-configured zero-lliurex-adobeair
334                        zero-center remove-pulsating-color zero-lliurex-adobeair
335                        exit 1
336        fi
337
338fi
339       
340
341zero-center set-non-configured zero-lliurex-adobeair-scratch2
342zero-center remove-pulsating-color zero-lliurex-adobeair
343zero-center set-configured zero-lliurex-adobeair
344
345
346exit 0
Note: See TracBrowser for help on using the repository browser.