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

Last change on this file since 154 was 154, checked in by mabarracus, 5 years ago

Ported code to xenial

File size: 7.2 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
17MSG_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"
47
48# Valencian is selected by default
49SELECTIONMSG="$VA_SELECTIONMSG"
50COPIEDMSG="$VA_COPIEDMSG"
51ERRORSELMSG="$VA_ERRORSELMSG"
52ERRORDOWN="$VA_ERRORDOWN"
53PKGSELMSG="$VA_PKGSELMSG"
54ACTIVATIONMSG="$VA_ACTIVATIONMSG"
55SELECTMSG="$VA_SELECTMSG"
56DLDSETUPMSG="$VA_DLDSETUPMSG"
57DLDSAVEMSG="$VA_DLDSAVEMSG"
58SELECTSETUPMSG="$VA_SELECTSETUPMSG"
59
60# But they could change if Spanish is detected
61if [ $_langrc -eq 1 ] ; then
62        SELECTIONMSG="$ES_SELECTIONMSG"
63        COPIEDMSG="$ES_COPIEDMSG"
64        ERRORSELMSG="$ES_ERRORSELMSG"
65        PKGSELMSG="$ES_PKGSELMSG"
66        ACTIVATIONMSG="$ES_ACTIVATIONMSG"
67        SELECTMSG="$ES_SELECTMSG"
68        DLDSETUPMSG="$ES_DLDSETUPMSG"
69        DLDSAVEMSG="$ES_DLDSAVEMSG"
70        SELECTSETUPMSG="$ES_SELECTSETUPMSG"
71fi
72
73
74sitert=http://download.videolan.org/
75site=${sitert}pub/debian/stable/
76arch=$(dpkg --print-architecture)
77
78CSSTMP=$(mktemp -t -d dvdcss-XXXXXX)
79
80soname=2
81uversion=1.2.13
82available="i386 amd64"
83version=${uversion}-0
84
85DESTINO="/home/"$SUDO_USER"/"
86
87# Downloads the package list and greps the most recent package to download and save it in $CSSTMP folder as libdvdcss.deb
88downloadcss()
89{
90        rc=0
91        wget "${site}/Packages" -O "$CSSTMP"/Packages && \
92        url=${site}$(grep "Filename: .*libdvdcss${soname}.*${arch}.*\.deb" "$CSSTMP"/Packages|sed  's/Filename: //'|head -n 1) && \
93        #wget "${url}" -O "$CSSTMP"/libdvdcss.deb || rc=1
94        zero-lliurex-axel -u "${url}" "$CSSTMP" libdvdcss.deb
95       
96        if [ $rc -eq 1 ]; then 
97         zenity --error --text="$ERRORDOWN"
98         exit 1
99        fi
100}
101
102# Copies $CSSTMP/libdvdcss.deb to the user selected location
103savecss()
104{
105         FILE=`zenity --file-selection --save --filename=$DESTINO"libdvdcss.deb" --title="$SELECTIONMSG"`
106
107        case $? in
108                0)      cp $CSSTMP"/libdvdcss.deb" $FILE &&  zenity --info "\"$FILE\"" --text="$COPIEDMSG";;
109
110                1)      zenity --error --text="$ERRORSELMSG";;
111
112               -1)      zenity --error --text="$ERRORSELMSG";;
113        esac
114}
115
116# Copies the user selected package to $CSSTMP/libdvdcss.deb
117copycss()
118{
119         FILE=`zenity --file-selection --filename=$DESTINO"libdvdcss.deb" --title="$PKGSELMSG"`
120
121        case $? in
122                0)     cp $FILE $CSSTMP ;;
123
124                1)      zenity --error --text="$ERRORSELMSG";;
125
126               -1)  zenity --error --text="$ERRORSELMSG";;
127        esac
128}
129
130# Installs libdvdcss package
131installcss()
132{
133        #gdebi -n "$CSSTMP"/libdvdcss.deb && zenity --info --text="$ACTIVATIONMSG" && zero-center set-configured  lliurex-zero-installer-dvdcss
134       
135       
136         #En segundo plano realizaremos la instalacion del paquete almacenando su salida en nuestro log, eliminando nuestro fichero ayuda para salir del bucle.
137         #Log para el zero-center
138                touch /tmp/zero-install.log
139                if [ -f /tmp/zero-installer.log ]; then
140                        rm  /tmp/zero-installer.log
141                fi
142                (gdebi -n "$CSSTMP"/libdvdcss.deb >> /tmp/zero-installer.log ; rm /tmp/zero-install.log) &
143                echo "................................................................................." >> /tmp/zero-installer.log
144                echo " " >> /tmp/zero-installer.log
145                echo "Zero-center-------Your instruction is----------gdebi -n "$CSSTMP"/libdvdcss.deb" >> /tmp/zero-installer.log
146                echo "................................................................................." >> /tmp/zero-installer.log
147
148                #Mientras que el fichero de ayuda existe es que estamos instalando
149                #Cuando ya no exista saldremos del while
150                        while [ -f  "/tmp/zero-install.log" ]; do
151                                #En la variable PERCENT almacenamos el tanto por cien que llevamos de descarga
152                                #accediento a la ultima linea escrita en el fichero de ayuda y seleccionando solo el dato que necesitamos.
153                                VAR=$( tail -1 /tmp/zero-installer.log  2>/dev/null )
154                                #Hacemos echo de los datos que necesita el zenity
155                                echo "#Installing DVD - CODECS.......$VAR" | cut -c1-85
156                                #echo "Installing.......$VAR" | cut -c1-85
157                                #por ultimo entubamos la salida al zenity progress para que nos muestre el resultado en pantalla
158                        done | zenity --progress  --auto-close --pulsate --width 500 --title="Zero-Center-Installer DVD - CODECS" --no-cancel > /dev/null 2>&1
159                       
160                zenity --info --text="$ACTIVATIONMSG" > /dev/null 2>&1 &
161                zero-center set-configured  lliurex-zero-installer-dvdcss
162}
163
164
165# Main menu
166zero-center add-pulsating-color lliurex-zero-installer-dvdcss
167#Comprobar conexión a internet e instalar
168rc=0
169zero-testnet|| rc=1
170if [ $rc -eq 0 ]
171        then
172                       
173                resp=`zenity --list --radiolist --hide-header --width="500" --height="200" --title="$SELECTMSG" \
174                        --column="Radio" --column="Number" --column="Action" \
175                        TRUE 1 "$DLDSETUPMSG"  \
176                        FALSE 2 "$DLDSAVEMSG" \
177                        FALSE 3 "$SELECTSETUPMSG"`
178
179                case $resp in
180                        1) downloadcss && installcss;;
181                       
182
183                        2) downloadcss && savecss;;
184
185
186                        3) copycss && installcss;;
187                esac
188                zero-center remove-pulsating-color lliurex-zero-installer-dvdcss
189                exit 0
190        else
191                zenity --error --text="$MSG_NO_INTERNET"
192                zero-center remove-pulsating-color lliurex-zero-installer-dvdcss
193                exit 1
194fi
Note: See TracBrowser for help on using the repository browser.