[101] | 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" |
---|
[2108] | 70 | #Get zero-installer exit status |
---|
| 71 | ERROR=$? |
---|
[101] | 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 ) |
---|
[2108] | 77 | if [ "$TEST" = 'installed' -a "$ERROR" -eq 0 ]; then |
---|
[101] | 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 & |
---|
[2108] | 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 |
---|
[101] | 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 & |
---|
[2108] | 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 |
---|
[101] | 88 | exit 1 |
---|
| 89 | fi |
---|
| 90 | |
---|