source: zero-lliurex-installers/trunk/fuentes/zero-lliurex-dvdcss.zmds/zero-lliurex-dvdcss.zmd @ 4923

Last change on this file since 4923 was 4923, checked in by jrpelegrina, 2 years ago

Fix bug in zero-lliurex-dvdcss

File size: 7.6 KB
Line 
1#!/bin/sh
2# Shell script to install libdvdcss under Debian GNU Linux
3# Many DVDs use css for encryption.  To play these discs, a special library
4# is needed to decode them, libdvdcss.  Due to legal problems, Debian and most
5# Linux distibutions cannot distribute libdvdcss
6# Use this shell script to install the libdvdcss under DEBIAN GNU/Linux
7# --------------------------------------------------------------------------
8# Refer url for more info:
9# Copyright info -  http://www.dtek.chalmers.se/~dvd/
10# -------------------------------------------------------------------------
11# This script is part of nixCraft shell script collection (NSSC)
12# Visit http://bash.cyberciti.biz/ for more information.
13# -------------------------------------------------------------------------
14# Addition of checking for current version.  Gene Cumm <gene.cumm@gmail.com>
15# -------------------------------------------------------------------------
16
17#MSG_NO_INTERNET=$(gettext "No Internet Connection has been detected. Please, check it")
18
19
20# Script messages l10n
21
22# Detects which language is set
23_langrc=0
24echo $LANGUAGE | grep -q "^ca_ES" || _langrc=1
25
26# All message strings in both languages
27ES_SELECTIONMSG="Seleccione el directorio donde desea guardar el paquete"
28VA_SELECTIONMSG="Trieu el directori on voleu guardar el paquet"
29ES_COPIEDMSG="El archivo se ha copiado correctamente"
30VA_COPIEDMSG="El fitxer s'ha copiat correctament"
31ES_ERRORSELMSG="No ha seleccionado ningún archivo"
32VA_ERRORDOWN="No s'ha descarregat cap fitxer, comproveu la vostra connexió a Internet"
33ES_ERRORDOWN="No se ha descargado ningún archivo, comprovar vuestra conexión a Internet"
34VA_ERRORSELMSG="No heu seleccionat cap fitxer"
35ES_PKGSELMSG="Seleccione el paquete que desea instalar"
36VA_PKGSELMSG="Trieu el paquet que voleu instal·lar"
37ES_ACTIVATIONMSG="Visualización de DVD originales activada"
38VA_ACTIVATIONMSG="S'ha activat la visualització de DVD originals"
39ES_SELECTMSG="Escoja la acción que desea realizar"
40VA_SELECTMSG="Trieu l'acció que voleu realitzar"
41ES_DLDSETUPMSG="Descargar paquete e instalar"
42VA_DLDSETUPMSG="Baixa el paquet i instal·la'l"
43ES_DLDSAVEMSG="Descargar paquete y guardar"
44VA_DLDSAVEMSG="Baixa el paquet i guarda'l"
45ES_SELECTSETUPMSG="Seleccionar paquete (local) e instalarlo"
46VA_SELECTSETUPMSG="Selecciona el paquet (local) i instal·la'l"
47ES_MSG_NO_INTERNET="No se ha detectado conexión a Internet. Por favor, compruébelo"
48VA_MSG_NO_INTERNET="No s'ha detectat connexió a Internet. Per favor, comprove-ho"
49ES_MSG_INSTALLING="Instalando DVD - CODECS......."
50VA_MSG_INSTALLING="Instal·lant DVD - CÒDECS......."
51
52
53# Valencian is selected by default
54SELECTIONMSG="$VA_SELECTIONMSG"
55COPIEDMSG="$VA_COPIEDMSG"
56ERRORSELMSG="$VA_ERRORSELMSG"
57ERRORDOWN="$VA_ERRORDOWN"
58PKGSELMSG="$VA_PKGSELMSG"
59ACTIVATIONMSG="$VA_ACTIVATIONMSG"
60SELECTMSG="$VA_SELECTMSG"
61DLDSETUPMSG="$VA_DLDSETUPMSG"
62DLDSAVEMSG="$VA_DLDSAVEMSG"
63SELECTSETUPMSG="$VA_SELECTSETUPMSG"
64MSG_NO_INTERNET="$VA_MSG_NO_INTERNET"
65MSG_INSTALLING="$VA_MSG_INSTALLING"
66
67# But they could change if Spanish is detected
68if [ $_langrc -eq 1 ] ; then
69        SELECTIONMSG="$ES_SELECTIONMSG"
70        COPIEDMSG="$ES_COPIEDMSG"
71        ERRORSELMSG="$ES_ERRORSELMSG"
72        PKGSELMSG="$ES_PKGSELMSG"
73        ACTIVATIONMSG="$ES_ACTIVATIONMSG"
74        SELECTMSG="$ES_SELECTMSG"
75        DLDSETUPMSG="$ES_DLDSETUPMSG"
76        DLDSAVEMSG="$ES_DLDSAVEMSG"
77        SELECTSETUPMSG="$ES_SELECTSETUPMSG"
78        MSG_NO_INTERNET="$ES_MSG_NO_INTERNET"
79        MSG_INSTALLING="$ES_MSG_INSTALLING"
80fi
81
82
83sitert=http://download.videolan.org/
84site=${sitert}pub/debian/stable/
85arch=$(dpkg --print-architecture)
86
87CSSTMP=$(mktemp -t -d dvdcss-XXXXXX)
88
89soname=2
90uversion=1.2.13
91available="i386 amd64"
92version=${uversion}-0
93
94DESTINO="/home/"$SUDO_USER"/"
95
96# Downloads the package list and greps the most recent package to download and save it in $CSSTMP folder as libdvdcss.deb
97downloadcss()
98{
99        rc=0
100        wget "${site}/Packages" -O "$CSSTMP"/Packages && \
101        url=${site}$(grep "Filename: .*libdvdcss${soname}.*${arch}.*\.deb" "$CSSTMP"/Packages|sed  's/Filename: //'|head -n 1) && \
102        #wget "${url}" -O "$CSSTMP"/libdvdcss.deb || rc=1
103        zero-lliurex-axel -u "${url}" "$CSSTMP" libdvdcss.deb
104       
105        if [ $rc -eq 1 ]; then
106         zenity --error --text="$ERRORDOWN"
107         exit 1
108        fi
109}
110
111# Copies $CSSTMP/libdvdcss.deb to the user selected location
112savecss()
113{
114         FILE=`zenity --file-selection --save --filename=$DESTINO"libdvdcss.deb" --title="$SELECTIONMSG"`
115
116        case $? in
117                0)      cp $CSSTMP"/libdvdcss.deb" $FILE &&  zenity --info "\"$FILE\"" --text="$COPIEDMSG";;
118
119                1)      zenity --error --text="$ERRORSELMSG";;
120
121               -1)      zenity --error --text="$ERRORSELMSG";;
122        esac
123}
124
125# Copies the user selected package to $CSSTMP/libdvdcss.deb
126copycss()
127{
128         FILE=`zenity --file-selection --filename=$DESTINO"libdvdcss.deb" --title="$PKGSELMSG"`
129
130        case $? in
131                0)     cp $FILE $CSSTMP ;;
132
133                1)      zenity --error --text="$ERRORSELMSG";;
134
135               -1)  zenity --error --text="$ERRORSELMSG";;
136        esac
137}
138
139# Installs libdvdcss package
140installcss()
141{
142        #gdebi -n "$CSSTMP"/libdvdcss.deb && zenity --info --text="$ACTIVATIONMSG" && zero-center set-configured  lliurex-zero-installer-dvdcss
143       
144       
145         #En segundo plano realizaremos la instalacion del paquete almacenando su salida en nuestro log, eliminando nuestro fichero ayuda para salir del bucle.
146         #Log para el zero-center
147                touch /tmp/zero-install.log
148                if [ -f /tmp/zero-installer.log ]; then
149                        rm  /tmp/zero-installer.log
150                fi
151                (gdebi -n "$CSSTMP"/libdvdcss.deb >> /tmp/zero-installer.log ; rm /tmp/zero-install.log) &
152                echo "................................................................................." >> /tmp/zero-installer.log
153                echo " " >> /tmp/zero-installer.log
154                echo "Zero-center-------Your instruction is----------gdebi -n "$CSSTMP"/libdvdcss.deb" >> /tmp/zero-installer.log
155                echo "................................................................................." >> /tmp/zero-installer.log
156
157                #Mientras que el fichero de ayuda existe es que estamos instalando
158                #Cuando ya no exista saldremos del while
159                        while [ -f  "/tmp/zero-install.log" ]; do
160                                #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
161                                #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
162                                VAR=$( tail -1 /tmp/zero-installer.log  2>/dev/null )
163                                #Hacemos echo de los datos que necesita el zenity
164                                echo "#$MSG_INSTALLING $VAR" | cut -c1-85
165                                #echo "#Installing DVD - CODECS.......$VAR" | cut -c1-85
166                                #echo "Installing.......$VAR" | cut -c1-85
167                                #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
168                        done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer DVD - CODECS" --no-cancel > /dev/null 2>&1
169                       
170                zenity --info --text="$ACTIVATIONMSG" > /dev/null 2>&1 &
171                zero-center set-configured  zero-lliurex-dvdcss
172}
173
174
175# Main menu
176zero-center add-pulsating-color zero-lliurex-dvdcss
177
178#Comprobar conexión a internet e instalar
179rc=0
180zero-testnet|| rc=1
181if [ $rc -eq 0 ]
182        then
183                       
184                resp=`zenity --list --radiolist --hide-header --width="500" --height="200" --title="$SELECTMSG" \
185                        --column="Radio" --column="Number" --column="Action" \
186                        TRUE 1 "$DLDSETUPMSG"  \
187                        FALSE 2 "$DLDSAVEMSG" \
188                        FALSE 3 "$SELECTSETUPMSG"`
189
190                case $resp in
191                        1) downloadcss && installcss;;
192                       
193
194                        2) downloadcss && savecss;;
195
196
197                        3) copycss && installcss;;
198                esac
199                zero-center remove-pulsating-color zero-lliurex-dvdcss
200                exit 0
201        else
202                zenity --error --text="$MSG_NO_INTERNET"
203                zero-center remove-pulsating-color zero-lliurex-dvdcss
204                exit 1
205fi
Note: See TracBrowser for help on using the repository browser.