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

Last change on this file since 584 was 584, checked in by mabarracus, 4 years ago

Copy trusty code

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