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

Last change on this file since 7293 was 7293, checked in by daduve, 18 months ago

new files to install scratch

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