source: zero-lliurex-installers/trunk/fuentes/zero-lliurex-promethean.zmds/zero-lliurex-promethean.zmd @ 6685

Last change on this file since 6685 was 6685, checked in by Juanma, 21 months ago

Add promethean EPI

  • Property svn:executable set to *
File size: 4.1 KB
Line 
1#!/bin/bash
2#set -x
3
4export TEXTDOMAIN="zero-lliurex-promethean"
5#VARIABLES GLOBALES
6PACKAGE_NAME="promethean"
7PACKAGE_LIST="/usr/share/zero-lliurex-installers/zero-lliurex-promethean-files"
8promethean_LOG="/tmp/zero-promethean.log"
9ZERO_LOG="/tmp/zero-installer.log"
10MSG_NO_INTERNET=$(gettext "No Internet Connection has been detected. Please, check it")
11PROMETHEAN_REPO_FILE="/etc/apt/sources.list.d/promethean.list"
12MSG_REINSTALL=$(gettext "is already installed in your system, now we are goig to remove it and install it again.")
13MSG_INSTALL=$(gettext "This will install the drivers for the Promethean board. Continue?")
14MSG_INSTALL_KO=$(gettext "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")
15MSG_INSTALL_OK=$(gettext "has been installed in your system, and you can see the resume in")
16
17
18if ! (zenity --question --text="$MSG_INSTALL")
19then
20        exit 1
21fi
22
23####FUNCIONES
24
25        #FUNCION QUE TESTEA SI UN PAQUETE ESTA INSTALADO, BORRANDOLO EN CASO AFIRMATIVO
26        function test_install {
27                #Testeamos si el paquete esta instalado, no haciendo nada en el caso afirmativo o instalandolo en el caso negativo.
28                TEST=$( dpkg-query -s $1 2> /dev/null| grep Status | cut -d " " -f 4 )
29                if [ "$TEST" = 'installed' ]; then
30                        echo " " >> $promethean_LOG
31                        echo "Package $1 already installed, we have to uninstall it" >> $promethean_LOG
32                        echo "Package $1 already installed, we have to uninstall it"
33                        su -c "notify-send -t 2000 -u critical -i /usr/share/icons/lliurex-neu/scalable/apps/zero-center.svg 'Zero-Installer' '$1 $MSG_REINSTALL'" $USER
34                        zero-installer remove $1
35                        cat $ZERO_LOG >> $promethean_LOG
36                fi
37
38        }
39
40
41####MAIN
42zero-center add-pulsating-color zero-lliurex-promethean
43#PRIMERAMENTE COMPROBAMOS QUE HAY CONEXION DE RED
44rc=0
45zero-testnet || rc=1
46if [ $rc -eq 0 ]
47        then
48                #Log para el zero-center
49                if [ -f $promethean_LOG ]; then
50                        rm  $promethean_LOG
51                fi
52
53                TMPDIR=$(mktemp -d)
54
55                wget 'http://activsoftware.co.uk/linux/repos/driver/PrometheanLtd.asc' -P ${TMPDIR}
56                apt-key add ${TMPDIR}/PrometheanLtd.asc
57                wget 'http://activsoftware.co.uk/linux/repos/PrometheanLtd.asc' -P ${TMPDIR}
58                apt-key add ${TMPDIR}/PrometheanLtd.asc
59                echo 'deb http://activsoftware.co.uk/linux/repos/driver/ubuntu xenial oss non-oss' > $PROMETHEAN_REPO_FILE
60                echo 'deb http://activsoftware.co.uk/linux/repos/ubuntu xenial non-oss' >> $PROMETHEAN_REPO_FILE
61
62                zero-repos-update
63
64                #CREAMOS UNA LISTA CON LOS PROGRAMAS NECESARIOS Y LOS TESTEAMOS SI ESTAN INSTALADOS
65                LISTA=( $( awk '{print $1}' $PACKAGE_LIST ) )
66                echo "The package list is....."
67                echo ${LISTA[@]}
68                        for i in "${LISTA[@]}"; do
69                                echo "Now test_install $i"
70                                test_install $i
71                        done
72
73                #YA SABEMOS QUE LOS PROGRAMAS ESTAN DESINSTALADOS, VAMOS A INSTALARLOS
74
75                        for i in "${LISTA[@]}"; do
76                                echo " " >> $promethean_LOG
77                                echo "If it's necessary zero-installer install or not the package $i" >> $promethean_LOG
78                                echo "If it's necessary zero-installer install or not the package $i"
79                                zero-installer install $i
80
81                                #Me guardo el fichero de los logs por si algo fallase o para revisarlo
82                                cat $ZERO_LOG >> $promethean_LOG
83                        done
84                #Comprobamos que se esta instalado porque sino abortamos la instalacion
85                        for i in "${LISTA[@]}"; do
86                                TEST=$( dpkg-query -s $i 2> /dev/null| grep Status | cut -d " " -f 4 )
87                                if [ "$TEST" != 'installed' ]; then
88                                        zenity --info --title="Zero-installer" --text="$i $MSG_INSTALL_KO" > /dev/null 2>&1 &
89                                        zero-center remove-pulsating-color zero-lliurex-promethean
90                                        zero-center set-non-configured zero-lliurex-promethean
91                                        exit 1
92                                fi
93                        done
94                        #If this file exists activinspire won't boot
95                        rm /dev/shm/sem.promethean 2>/dev/null
96                        apt-key del PrometheanLtd
97                        rm -f $PROMETHEAN_REPO_FILE
98                        zenity --info --title="Zero-installer" --text="$PACKAGE_NAME $MSG_INSTALL_OK $promethean_LOG" &
99                        zero-center remove-pulsating-color zero-lliurex-promethean
100                        zero-center set-configured zero-lliurex-promethean
101                        exit 0
102        else
103                zenity --error --text="$MSG_NO_INTERNET"
104                zero-center remove-pulsating-color zero-lliurex-promethean
105                exit 1
106fi
Note: See TracBrowser for help on using the repository browser.