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 | MSG_BUTTON_OK=$(gettext "OK") |
---|
13 | |
---|
14 | ZEN_BUTTON_OK="--ok-label=$MSG_BUTTON_OK" |
---|
15 | PACKAGE_NAME="$1" |
---|
16 | INSTALL_LOG="/tmp/zero-${PACKAGE_NAME}.log" |
---|
17 | ZERO_LOG="/tmp/zero-installer.log" |
---|
18 | |
---|
19 | ####FUNCIONES |
---|
20 | |
---|
21 | #Aqui listaremos las opciones del helper |
---|
22 | function helper { |
---|
23 | |
---|
24 | if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "" ]; then |
---|
25 | echo |
---|
26 | echo "----ZERO-REINSTALL-HELPER----" |
---|
27 | echo |
---|
28 | echo "zero-reinstall <arg1>" |
---|
29 | echo |
---|
30 | echo "arg1: Is the name of the package to reinstall" |
---|
31 | echo |
---|
32 | echo "example: zero-reinstall hotpotatoes" |
---|
33 | echo |
---|
34 | exit 0 |
---|
35 | fi |
---|
36 | } |
---|
37 | |
---|
38 | #FUNCION QUE TESTEA SI UN PAQUETE ESTA INSTALADO, BORRANDOLO EN CASO AFIRMATIVO |
---|
39 | function test_install { |
---|
40 | #Testeamos si el paquete esta instalado, no haciendo nada en el caso afirmativo o instalandolo en el caso negativo. |
---|
41 | TEST=$( dpkg-query -s $1 2> /dev/null| grep Status | cut -d " " -f 4 ) |
---|
42 | if [ "$TEST" = 'installed' ]; then |
---|
43 | echo " " >> $INSTALL_LOG |
---|
44 | echo "Package $1 already installed, we have to uninstall it" >> $INSTALL_LOG |
---|
45 | echo "Package $1 already installed, we have to uninstall it" |
---|
46 | zero-installer remove $1 |
---|
47 | cat $ZERO_LOG >> $INSTALL_LOG |
---|
48 | fi |
---|
49 | |
---|
50 | } |
---|
51 | |
---|
52 | |
---|
53 | ################MAIN###################### |
---|
54 | #Log para el zero-center |
---|
55 | if [ -f $INSTALL_LOG ]; then |
---|
56 | rm $INSTALL_LOG |
---|
57 | fi |
---|
58 | |
---|
59 | #COMPRUEBA QUE EL PARÁMETRO ESTA BIEN Y NO SE SOLICITA AYUDA |
---|
60 | helper "$PACKAGE_NAME" |
---|
61 | |
---|
62 | #TESTEAMOS SI ESTAN INSTALADOS |
---|
63 | test_install "$PACKAGE_NAME" |
---|
64 | |
---|
65 | #YA SABEMOS QUE EL PROGRAMA ESTA DESINSTALADO, VAMO A INSTALARLO DE NUEVO |
---|
66 | |
---|
67 | echo " " >> $INSTALL_LOG |
---|
68 | echo "Zero-installer install the package $PACKAGE_NAME" >> $INSTALL_LOG |
---|
69 | echo "Zero-installer install the package $PACKAGE_NAME" |
---|
70 | zero-installer install "$PACKAGE_NAME" |
---|
71 | #Get zero-installer exit status |
---|
72 | ERROR=$? |
---|
73 | #Me guardo el fichero de los logs por si algo fallase o para revisarlo |
---|
74 | cat $ZERO_LOG >> $INSTALL_LOG |
---|
75 | |
---|
76 | #Testeamos si el paquete se ha instalado bien |
---|
77 | TEST=$( dpkg-query -s $PACKAGE_NAME 2> /dev/null| grep Status | cut -d " " -f 4 ) |
---|
78 | if [ "$TEST" = 'installed' -a "$ERROR" -eq 0 ]; then |
---|
79 | echo " ------------------- " >> $INSTALL_LOG |
---|
80 | echo "Package $PACKAGE_NAME has been installed, Congratulations" |
---|
81 | zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $MSG_FINISH_INSTALLED $INSTALL_LOG" $ZEN_BUTTON_OK > /dev/null 2>&1 & |
---|
82 | 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" |
---|
83 | exit 0 |
---|
84 | else |
---|
85 | echo " ------------------- " >> $INSTALL_LOG |
---|
86 | echo "$MSG_FINISH_ERROR" |
---|
87 | zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $MSG_FINISH_ERROR $INSTALL_LOG" $ZEN_BUTTON_OK > /dev/null 2>&1 & |
---|
88 | 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" |
---|
89 | exit 1 |
---|
90 | fi |
---|
91 | |
---|