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

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

Fixes installer

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 "libnss-mdns:i386 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                        NAME=$(ls /tmp/|egrep '^libgnome-keyring0.*')
123                        rm /tmp/${NAME}
124                        apt-get download libgnome-keyring0:i386
125                        echo "20"
126                        NAME=$(ls /tmp/|egrep '^libgnome-keyring0.*')
127                        dpkg-deb -R ${NAME} gnome-keyring
128                        echo "40"
129                        sleep 2
130                        cp gnome-keyring/usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/
131                        cd /
132                        echo "60"
133                        sleep 1
134                        [ -e /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 ] && rm -f /usr/lib/i386-linux-gnu/libgnome-keyring.so.0
135                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/i386-linux-gnu/libgnome-keyring.so.0
136                        echo "80"
137                        sleep 1
138                        [ -e /usr/lib/libgnome-keyring.so.0 ] && rm -f /usr/lib/libgnome-keyring.so.0
139                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
140                        echo "90"
141                        sleep 1
142                        [ -e /usr/lib/libgnome-keyring.so.0.2.0 ] && rm -f /usr/lib/libgnome-keyring.so.0.2.0
143                        ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
144                        ) | 
145                        zenity --progress \
146                        --title="Zero-LliureX-AdobeAir" \
147                        --text="Prepare the system to install AdobeAir 64 Bits" \
148                        --percentage=0 \
149                        --auto-close \
150                        --width=500 \
151                        --auto-kill
152
153                       
154                        ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA
155                        #Comprobar conexi??n a internet e instalar
156                        rc=0
157                        zero-testnet || rc=1
158                        if [ $rc -eq 0 ]
159                                then
160                                        #su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER
161                                        #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.
162                                        rc=0
163                                        host $elaula || rc=1
164                                        if [ $rc -eq 0 ]
165                                                then
166                                                        rc=0
167                                                        dpkg -l zero-server-wizard || rc=1
168                                                        if [ $rc -eq 1 ]; then
169                                                                export http_proxy="proxy:3128"
170                                                        fi
171                                                        su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp"
172                                                else
173                                                        su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp"
174                                        fi
175                                        su $USER -c "chmod +x /tmp/$VERSION"
176                                       
177                                        touch /tmp/zero-install.log
178                                        #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo
179                                        (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) &
180                                        #Mientras que el fichero de ayuda existe es que estamos instalando
181                                        #Cuando ya no exista saldremos del while
182                                                while [ -f  "/tmp/zero-install.log" ]; do
183                                                        #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
184                                                        #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
185                                                        VAR=$( tail -1 $LOG_FILE  2>/dev/null )
186                                                        #Hacemos echo de los datos que necesita el zenity
187                                                        echo "#Installing.......$VAR" | cut -c1-85
188                                                        #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
189                                                done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1
190                                                           
191                                        su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed"
192                                        TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
193                                        if [ "$TEST" != 'installed' ]; then
194                                                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 &
195                                                zero-center remove-pulsating-color zero-lliurex-adobeair
196                                                zero-center set-non-configured zero-lliurex-adobeair
197                                                zero-center set-non-configured zero-lliurex-adobeair-scratch2
198                                                exit 1
199                                        fi
200                                       
201                                        rm /usr/lib/libgnome-keyring.so.0
202                                        rm /usr/lib/libgnome-keyring.so.0.2.0
203                                        zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 &
204                                else
205                                        ######NO TENEMOS CONEXION INTERNET
206                                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
207                                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
208                                        zero-center set-non-configured zero-lliurex-adobeair
209                                        zero-center remove-pulsating-color zero-lliurex-adobeair
210                                        exit 1
211                        fi     
212                       
213                       
214                       
215                        else
216                        ######NO TENEMOS CONEXION A INTERNET
217                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
218                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
219                        zero-center set-non-configured zero-lliurex-adobeair
220                        zero-center remove-pulsating-color zero-lliurex-adobeair
221                        exit 1
222        fi
223else
224        #######SOLO PARA ARQUITECTURAS DE 32 BITS
225
226                #Problemas al instalar adobeair requieren de la creaci??n manual de links
227                Lso0="FALSE"           
228                Lso020="FALSE"
229                uname -a | grep -q "x86_64"
230                if [ $? -eq 0 ]; then 
231                        if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then
232                                sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
233                                Lso0="TRUE"
234                        fi
235                        if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then
236                                sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
237                                Lso020="TRUE"
238                        fi     
239                else
240                        if [ ! -L /usr/lib/libgnome-keyring.so.0 ]; then
241                                sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
242                                Lso0="TRUE"
243                        fi
244                        if [ ! -L /usr/lib/libgnome-keyring.so.0.2.0 ]; then
245                                sudo ln -s /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0.2.0
246                                Lso020="TRUE"
247                        fi
248                fi
249        ##########################INSTALACION ADOBEAIR EN CUALQUIER ARQUITECTURA
250        #Comprobar conexi??n a internet e instalar
251        rc=0
252        zero-testnet || rc=1
253        if [ $rc -eq 0 ]
254                then
255                        #su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' ' $MSG_BAJAR ' " $USER
256                        #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.
257                        rc=0
258                        host $elaula || rc=1
259                        if [ $rc -eq 0 ]
260                                then
261                                        rc=0
262                                        dpkg -l zero-server-wizard || rc=1
263                                        if [ $rc -eq 1 ]; then
264                                                export http_proxy="proxy:3128"
265                                        fi
266                                        su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp"
267                                else
268                                        su $USER -c "zero-lliurex-axel $URL_ADOBEAIR$VERSION /tmp"
269                        fi
270                        su $USER -c "chmod +x /tmp/$VERSION"
271                       
272                        touch /tmp/zero-install.log
273                        #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo
274                        (/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed > /tmp/zero-install.log ; rm /tmp/zero-install.log) &
275                        #Mientras que el fichero de ayuda existe es que estamos instalando
276                        #Cuando ya no exista saldremos del while
277                                while [ -f  "/tmp/zero-install.log" ]; do
278                                        #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
279                                        #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
280                                        VAR=$( tail -1 $LOG_FILE  2>/dev/null )
281                                        #Hacemos echo de los datos que necesita el zenity
282                                        echo "#Installing.......$VAR" | cut -c1-85
283                                        #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
284                                done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1
285                                           
286                        su $USER -c "/tmp/$VERSION -silent -eulaAccepted -pingbackAllowed"
287                        TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
288                        if [ "$TEST" != 'installed' ]; then
289                                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 &
290                                zero-center remove-pulsating-color zero-lliurex-adobeair
291                                zero-center set-non-configured zero-lliurex-adobeair
292                                zero-center set-non-configured zero-lliurex-adobeair-scratch2
293                                exit 1
294                        fi
295                       
296                        #Devolver los links a su estado
297                        if [ Lso0 ]; then
298                                ls /usr/lib/libgnome-keyring*
299                                sudo rm -rf /usr/lib/libgnome-keyring.so.0
300                        fi
301                        if [ Lso020 ]; then
302                                ls /usr/lib/libgnome-keyring*
303                                sudo rm -rf /usr/lib/libgnome-keyring.so.0.2.0
304                        fi
305                        zenity --info --text="$MSG_LOCALIZAR" > /dev/null 2>&1 &
306                else
307                        ######NO TENEMOS CONEXION INTERNET
308                        zenity --error --text="$MSG_NO_INTERNET" > /dev/null 2>&1
309                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
310                        zero-center set-non-configured zero-lliurex-adobeair
311                        zero-center remove-pulsating-color zero-lliurex-adobeair
312                        exit 1
313        fi
314
315fi
316       
317
318zero-center set-non-configured zero-lliurex-adobeair-scratch2
319zero-center remove-pulsating-color zero-lliurex-adobeair
320zero-center set-configured zero-lliurex-adobeair
321
322
323exit 0
Note: See TracBrowser for help on using the repository browser.