1 | #!/bin/bash |
---|
2 | export TEXTDOMAIN="zero-center" |
---|
3 | |
---|
4 | MSG_INSTALLING=$(gettext "Installing") |
---|
5 | MSG_INSTALLED=$(gettext "Installed") |
---|
6 | MSG_REMOVING=$(gettext "Removing") |
---|
7 | MSG_REMOVED=$(gettext "Removed") |
---|
8 | MSG_FINISH_INSTALLED=$(gettext "has been INSTALLED in your system, and you can view the log in") |
---|
9 | MSG_FINISH_SYSTEM1=$(gettext "has been") |
---|
10 | MSG_FINISH_SYSTEM=$(gettext "in your system, and you can view the log in") |
---|
11 | MSG_FINISH_ERROR=$(gettext "Please review your repositories and reinstall it again .If you can\'t resolve the problem please contact with Lliurex Team at http://mestreacasa.gva.es/web/lliurex/forums") |
---|
12 | |
---|
13 | |
---|
14 | PACKAGE_NAME="$1" |
---|
15 | INSTALL_LOG="/tmp/zero-${PACKAGE_NAME}.log" |
---|
16 | ZERO_LOG="/tmp/zero-installer.log" |
---|
17 | |
---|
18 | ####FUNCIONES |
---|
19 | |
---|
20 | #Aqui listaremos las opciones del helper |
---|
21 | function helper { |
---|
22 | |
---|
23 | if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "" ]; then |
---|
24 | echo |
---|
25 | echo "----ZERO-REINSTALL-HELPER----" |
---|
26 | echo |
---|
27 | echo "zero-reinstall <arg1>" |
---|
28 | echo |
---|
29 | echo "arg1: Is the name of the package to reinstall" |
---|
30 | echo |
---|
31 | echo "example: zero-reinstall hotpotatoes" |
---|
32 | echo |
---|
33 | exit 0 |
---|
34 | fi |
---|
35 | } |
---|
36 | |
---|
37 | #FUNCION QUE TESTEA SI UN PAQUETE ESTA INSTALADO, BORRANDOLO EN CASO AFIRMATIVO |
---|
38 | function test_install { |
---|
39 | #Testeamos si el paquete esta instalado, no haciendo nada en el caso afirmativo o instalandolo en el caso negativo. |
---|
40 | TEST=$( dpkg-query -s $1 2> /dev/null| grep Status | cut -d " " -f 4 ) |
---|
41 | if [ "$TEST" = 'installed' ]; then |
---|
42 | echo " " >> $INSTALL_LOG |
---|
43 | echo "Package $1 already installed, we have to uninstall it" >> $INSTALL_LOG |
---|
44 | echo "Package $1 already installed, we have to uninstall it" |
---|
45 | zero-installer remove $1 |
---|
46 | cat $ZERO_LOG >> $INSTALL_LOG |
---|
47 | fi |
---|
48 | |
---|
49 | } |
---|
50 | |
---|
51 | |
---|
52 | ################MAIN###################### |
---|
53 | #Log para el zero-center |
---|
54 | if [ -f $INSTALL_LOG ]; then |
---|
55 | rm $INSTALL_LOG |
---|
56 | fi |
---|
57 | |
---|
58 | #COMPRUEBA QUE EL PARÁMETRO ESTA BIEN Y NO SE SOLICITA AYUDA |
---|
59 | helper "$PACKAGE_NAME" |
---|
60 | |
---|
61 | #TESTEAMOS SI ESTAN INSTALADOS |
---|
62 | test_install "$PACKAGE_NAME" |
---|
63 | |
---|
64 | #YA SABEMOS QUE EL PROGRAMA ESTA DESINSTALADO, VAMO A INSTALARLO DE NUEVO |
---|
65 | |
---|
66 | echo " " >> $INSTALL_LOG |
---|
67 | echo "Zero-installer install the package $PACKAGE_NAME" >> $INSTALL_LOG |
---|
68 | echo "Zero-installer install the package $PACKAGE_NAME" |
---|
69 | zero-installer install "$PACKAGE_NAME" |
---|
70 | #Get zero-installer exit status |
---|
71 | ERROR=$? |
---|
72 | #Me guardo el fichero de los logs por si algo fallase o para revisarlo |
---|
73 | cat $ZERO_LOG >> $INSTALL_LOG |
---|
74 | |
---|
75 | #Testeamos si el paquete se ha instalado bien |
---|
76 | TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 ) |
---|
77 | if [ "$TEST" = 'installed' -a "$ERROR" -eq 0 ]; then |
---|
78 | echo " ------------------- " >> $INSTALL_LOG |
---|
79 | echo "Package $PACKAGE_NAME has been installed, Congratulations" |
---|
80 | zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $MSG_FINISH_INSTALLED $INSTALL_LOG" > /dev/null 2>&1 & |
---|
81 | su -c "notify-send -t 5000 -u normal -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$PACKAGE_NAME $MSG_FINISH_INSTALLED $INSTALL_LOG'" $USER |
---|
82 | exit 0 |
---|
83 | else |
---|
84 | echo " ------------------- " >> $INSTALL_LOG |
---|
85 | echo "$MSG_FINISH_ERROR" |
---|
86 | zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $MSG_FINISH_ERROR $INSTALL_LOG" > /dev/null 2>&1 & |
---|
87 | su -c "notify-send -t 5000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$PACKAGE_NAME $MSG_FINISH_ERROR $INSTALL_LOG'" $USER |
---|
88 | exit 1 |
---|
89 | fi |
---|
90 | |
---|