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

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

Modifi zmd to fix bug with proxy in exec icon

File size: 10.2 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 "Scratch 2  will now be downloaded. Aprox. size 49,5MB")
6SCRATCH_INSTALLED=$(gettext "Scratch is already installed in your system, now we are goig to remove it and install it again")
7PACKAGE_WORD=$(gettext "Package")
8UNINSTALLING=$(gettext "Uninstalling")
9INSTALLING=$(gettext "Installing")
10DEPENDENCY_FROM=$(gettext "Dependency from package")
11IS_INSTALLED=$(gettext "is installed, do nothing")
12ALREADY_INSTALLED=$(gettext "already installed, we have to uninstall it")
13IS_NOT_INSTALLED=$(gettext "is not installed in your system, it is necessary........ we are goig to do it")
14HAS_A_PROBLEM=$(gettext "has a problem to be installed in your system, and Scratch need it for install it, please retry again or contact with Lliurex Team at")
15IS_DOWNLOADED=$(gettext "is downloaded in your system, install it now")
16HAS_BEEN_INSTALLED=$(gettext "has been installed in your system")
17HAS_BEEN_FINISHED=$(gettext "has been finished in your system")
18HAS_A_PROBLEM_SEE_LOG=$(gettext "has a problem to be installed in your system, please see more info at")
19
20PACKAGE_NAME="edu.media.mit.scratch2editor"
21URL_SCRATCH="http://lliurex.net/recursos-edu/misc/"
22VERSION="Scratch-latest.air"
23LOG_FILE="/root/.appdata/Adobe/AIR/Logs/Install.log"
24TMP_LOG="/tmp/zero-scratch.log"
25DEPENDS="adobeair"
26ICON_FILE="/usr/share/mate/applications/edu.media.mit.scratch2editor.desktop"
27
28
29#Para el control de versiones partimos de que la 437 corresponde a la 900 y asi incrementalmente en ambos casos en el fichero indicado
30UPDATE_FILE="/opt/AdobeAirApp/Scratch 2/share/META-INF/AIR/application.xml"
31VERSION_ORIG_NUMBER="456.0.1"
32VERSION_LLIUREX_NUMBER="903"
33
34zero-center add-pulsating-color zero-lliurex-adobeair-scratch2
35
36#Testeamos si el paquete esta instalado, borrandolo caso afirmativo o nada caso negativo.
37        #zero-repos-update
38        #zero-reinstall "$PACKAGE_NAME"
39        TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 )
40        if [ "$TEST" = 'installed' ]; then
41                echo " $VERSION $ALREADY_INSTALLED"
42                su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$SCRATCH_INSTALLED.'" $USER
43                touch $TMP_LOG
44                (apt-get remove -y edu.media.mit.scratch2editor > $TMP_LOG ; rm $TMP_LOG) &
45                #Mientras que el fichero de ayuda existe es que estamos instalando
46                #Cuando ya no exista saldremos del while
47                       while [ -f  "$TMP_LOG" ]; do
48                                #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
49                                #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
50                                VAR=$( tail -1 $TMP_LOG 2>/dev/null )
51                                #Hacemos echo de los datos que necesita el zenity
52                                echo "#$UNINSTALLING.......$VAR" | cut -c1-85
53                                #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
54                        done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Uninstaller" --no-cancel
55        fi
56
57
58#Antes de nada comprobamos que existe el Adobe air en el Sistema sino se instala
59
60        TEST=$( dpkg-query -s $DEPENDS 2> /dev/null| grep Status | cut -d " " -f 4 )
61        if [ "$TEST" != 'installed' ]; then
62                echo "Package $DEPENDS is not installed in your system, it's necessary........ we'll do it"
63                su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$PACKAGE_WORD $DEPENDS $IS_NOT_INSTALLED'" $USER
64                /usr/share/zero-center/zmds/zero-lliurex-adobeair.zmd           
65        else
66                echo "$DEPENDENCY_FROM $DEPENDS $IS_INSTALLED"
67        fi
68       
69       
70#Comprobamos que se esta instalado porque sino abortamos la instalacion
71        TEST=$( dpkg-query -s $DEPENDS 2> /dev/null| grep Status | cut -d " " -f 4 )
72        if [ "$TEST" != 'installed' ]; then
73                        zenity --info --title="Zero-installer" --text="$DEPENDS $HAS_A_PROBLEM http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 &
74                        zero-center remove-pulsating-color zero-lliurex-adobeair-scratch2
75                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
76                        zero-center set-non-configured zero-lliurex-adobeair
77                        exit 1
78        fi
79       
80
81
82#Comprobar conexión a internet
83elaula=www.lliurexforever.jai
84
85n4d-vars listvars | grep HOSTNAME
86
87if [ $? -eq 0 ]; then
88        elhost=$(n4d-vars getvalues HOSTNAME | cut -d"'" -f2)
89        eldominio=$(n4d-vars getvalues INTERNAL_DOMAIN | cut -d"'" -f2)
90        elaula=$elhost"."$eldominio
91fi
92
93
94
95#Comprobar conexión a internet e instalar
96rc=0
97zero-testnet|| rc=1
98if [ $rc -eq 0 ]
99        then
100                #Problemas al instalar adobeair requieren de la creación manual de links
101                su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$MSG_BAJAR'" $USER
102                rc=0
103                host $elaula || rc=1
104                if [ $rc -eq 0 ]
105                        then
106                                rc=0
107                                dpkg -l zero-server-wizard || rc=1
108                                if [ $rc -eq 1 ]; then
109                                        #echo "Estoy en un aula añado el proxy"
110                                        export http_proxy="proxy:3128"
111                                fi
112                                #Borramos el fichero si existe antes de volverlo a bajar
113
114                                if [ -f  /tmp/$VERSION ]; then
115                                        #echo "existe el fichero de descarga, lo borro"
116                                        rm /tmp/$VERSION
117                                fi
118                                #echo "Descargo el Scratch"
119                                su $USER -c "zero-lliurex-axel $URL_SCRATCH$VERSION /tmp"
120                        else
121                                #Borramos el fichero si existe antes de volverlo a bajar
122
123                                if [ -f  /tmp/$VERSION ]; then
124                                        #echo "existe el fichero de descarga, lo borro"
125                                        rm /tmp/$VERSION
126                                fi
127                                #echo "Fuera del IF tb bajo el scratch"
128                                su $USER -c "zero-lliurex-axel $URL_SCRATCH$VERSION /tmp"
129                fi
130               
131                if [ ! -f  /tmp/$VERSION ]; then
132                        zenity --info --title="Zero-installer" --text="$VERSION $HAS_A_PROBLEM http://mestreacasa.gva.es/web/lliurex/forums" > /dev/null 2>&1 &
133                        zero-center remove-pulsating-color zero-lliurex-adobeair-scratch2
134                        zero-center set-non-configured zero-lliurex-adobeair-scratch2
135                        exit 1
136                else
137                        echo "$VERSION $IS_DOWNLOADED..............."
138                fi
139                #echo "YA ESTA BAJADO AHORA HAGO CHMOD"
140                chmod +x /tmp/$VERSION
141                #echo "HECHO CHMOD, AHORA VOY A CREAR EL ZERO-INSTALL.LOG"
142                touch /tmp/zero-install.log
143               
144                #echo "VAMOS A POR LA INSTALACION EN SEGUNDO PLANO"
145                #Creo un fichero de ayuda para meter lo que devuelva por pantalla y lo borro luego para saber que termino lo que estaba haciendo
146                (/usr/bin/Adobe\ AIR\ Application\ Installer -silent -eulaAccepted -location /opt/AdobeAirApp /tmp/$VERSION > /tmp/zero-install.log ; rm /tmp/zero-install.log) &
147                #Mientras que el fichero de ayuda existe es que estamos instalando
148                #Cuando ya no exista saldremos del while
149                       #echo "INSTALACION LANZADA AHORA EL LOG PARA VISUALIZACION"
150                       while [ -f  "/tmp/zero-install.log" ]; do
151                                #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
152                                #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
153                                VAR=$( tail -1 $LOG_FILE  2>/dev/null )
154                                #Hacemos echo de los datos que necesita el zenity
155                                echo "#$INSTALLING.......$VAR" | cut -c1-85
156                                #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
157                        done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer" --no-cancel > /dev/null 2>&1
158                #Compruebo que se instalo bien
159                tail -1 $LOG_FILE | cut -d "]" -f 3 | grep 0
160                        if [ "$?" = "0" ]; then 
161                               
162                                echo "Zero-center-------$VERSION $HAS_BEEN_INSTALLED"
163                                echo "Zero-center-------$2 $HAS_BEEN_FINISHED" >> /tmp/zero-installer.log
164                                su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$VERSION $HAS_BEEN_INSTALLED'" $USER
165                                zenity --info --title="Zero-installer" --text="$VERSION $HAS_BEEN_INSTALLED" > /dev/null 2>&1 &
166                        else
167                                zenity --info --title="Zero-installer" --text="$VERSION $HAS_A_PROBLEM_SEE_LOG $LOG_FILE" > /dev/null 2>&1
168                                su -c "notify-send -t 5000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$VERSION $HAS_A_PROBLEM_SEE_LOG $LOG_FILE'" $USER
169                                zero-center remove-pulsating-color zero-lliurex-adobeair-scratch2
170                                zero-center set-non-configured zero-lliurex-adobeair-scratch2
171                                exit 1
172                        fi
173               
174        else
175                zenity --error --text="$MSG_NO_INTERNET"
176                zero-center remove-pulsating-color zero-lliurex-adobeair-scratch2
177                exit 1
178fi
179
180#Modificamos el fichero de la actualizacion para que no chequee en el arranque
181sed -i -e "s%<versionNumber>$VERSION_ORIG_NUMBER<\/versionNumber>%<versionNumber>$VERSION_LLIUREX_NUMBER<\/versionNumber>%g" "$UPDATE_FILE"
182#El desktop que se genera lo modificamos para que aparezca en la categoria de educación.
183sed -i -e 's/Categories=Utility;/Categories=Application;Education;/g' $ICON_FILE
184sed -i -e 's/GenericName=Scratch\ 2\ Editor/GenericName=Scratch\ 2\ Editor/g' $ICON_FILE
185sed -i -e 's/Name=Scratch\ 2\ Editor/Name=Scratch\ 2\ Editor/g' $ICON_FILE
186sed -i -e 's/Comment=<>/Comment=Scratch\ 2\ Editor/g' $ICON_FILE
187#Y le añadimos los Comentarios y traducciones, aunque antes las eliminamos si existian para que no esten duplicadas en el fichero
188#Eliminacion
189sed -i '/Exec/d' $ICON_FILE
190sed -i "/ca_ES/d" $ICON_FILE
191sed -i "/\[es\]/d" $ICON_FILE
192sed -i "/qcv_ES/d" $ICON_FILE
193#Añadido
194echo "Exec=env http_proxy='' '/opt/AdobeAirApp'/'Scratch 2'/bin/'Scratch 2'" >> $ICON_FILE
195echo "Name[ca_ES@valencia]=Scratch 2 Editor" >> $ICON_FILE
196echo "Comment[ca_ES@valencia]=Sistema de programació visual per a l'educació" >> $ICON_FILE
197echo "Name[ca_ES.UTF-8@valencia]=Scratch 2 Editor" >> $ICON_FILE
198echo "Comment[ca_ES.UTF-8@valencia]=Sistema de programació visual per a l'educació" >> $ICON_FILE
199echo "Name[es]=Scratch 2 Editor" >> $ICON_FILE
200echo "Comment[es]=Sistema de programación visual para la educación" >> $ICON_FILE
201echo "Name[qcv_ES]=Scratch 2 Editor" >> $ICON_FILE
202echo "Comment[qcv_ES]=Sistema de programació visual per a l'educació" >> $ICON_FILE
203
204
205zero-center remove-pulsating-color zero-lliurex-adobeair-scratch2
206zero-center set-configured zero-lliurex-adobeair-scratch2
207
208exit 0
Note: See TracBrowser for help on using the repository browser.