Proyecto movido a GitHub
Miér 7 Abr 2021 - 19:23 por bittor
Proyecto movido a GitHub:
https://github.com/bittor7x0/VDR-M7x0
Con muchos cambios y correcciones, Más información
También incluye el plugin epgfixer para corregir la EPG usando expresiones regulares y el plugin xmltv2vdr para descargar la EPG de internet
https://github.com/bittor7x0/VDR-M7x0
Con muchos cambios y correcciones, Más información
También incluye el plugin epgfixer para corregir la EPG usando expresiones regulares y el plugin xmltv2vdr para descargar la EPG de internet
Comentarios: 0
Buscar
Script de compilación de VDR-NG-EM para GNU/Linux
+3
zjuanma
bittor
naldoco
7 participantes
Página 1 de 1.
Script de compilación de VDR-NG-EM para GNU/Linux
naldoco@naldoco9:~/VDR$ cat compilaVDR
- Código:
#!/bin/bash
#inicio de script
#Script con licencia de distribución Dominio Público
#http://creativecommons.org/publicdomain/
#Este software se entrega sin garantía de ningún tipo
#Autor: naldoco (Reynaldo Cordero)
#Inicializar el fichero de log general
echo "Inicio de la compilación" | tee compilacion.log
date | tee -a compilacion.log
# Introducción e instrucciones generales
echo "Debe ejecutar este script en el directorio que alojará al" \
"directorio de compilación 'VDR-NG-EM'."
echo "Va a descargar y compilar los fuentes del firmware" \
"para su VDR en su versión 'pro' o 'lite', según elija."
echo "Este archivo de lotes automatiza los pasos" \
"explicados en la página web:"
echo "http://www.assembla.com/wiki/show/VDR-M7x0/Instalación_del_VDR-NG-EM#instalacion_linux"
echo "Si su distribución es una Ubuntu Karmic Koala (9.10)," \
"DEBE leer las instrucciones de esa página antes de seguir."
# El usuario debe elegir entre firmware 'PRO' y firmware 'LITE'
echo 'Elija entre versión 'PRO' y versión 'LITE' del firmware:'
esPRO=""
OP="PRO LITE"
select opt in $OP;
do
if [ "$opt" = "PRO" ]; then
esPRO="PRO"
break
elif [ "$opt" = "LITE" ]; then
esPRO="LITE"
break
else
echo "Opción errónea. Pulse '1' para PRO y '2' para LITE."
fi
done
echo "Versión: $esPRO" | tee -a compilacion.log
sleep 1
# El usuario debe elegir el modelo de su Siemens entre m740 y m750t
echo 'Elija su modelo de VDR:'
OP="m740 m750t"
select opt in $OP;
do
if [ "$opt" = "m740" ]; then
modelo="m740"
break
elif [ "$opt" = "m750t" ]; then
modelo="m750t"
break
else
echo "Opción errónea. Pulse '1' para m740 y '2' para m750t."
fi
done
echo "Modelo: $modelo" | tee -a compilacion.log
sleep 1
# El usuario debe elegir si quiere retocar ficheros de configuración
echo "¿Va a querer retocar (con el editor gedit) algunos \
ficheros de configuración antes de compilar?"
OP="SI NO"
select opt in $OP;
do
# Instrucciones para editar los ficheros de configuración, en su caso.
editarConfiguracion="0"
if [ "$opt" = "SI" ]; then
editarConfiguracion="1"
echo "Más adelante, el editor 'gedit'" \
"abrirá los ficheros de configuración, por si quiere modificarlos."
echo "OJO: ** Pulse un carácter (tecla) para continuar."
read -n 1
break
elif [ "$opt" = "NO" ]; then
# Se informa de que no harán más preguntas, de los ficheros de log y de que tenga paciencia.
echo "La compilación puede llevar 'bastante' tiempo. Paciencia."
echo "El archivo de log se llama 'compilacion.log'"
echo "El archivo con los warnings y los errores es 'errores.log'"
echo "Si al final obtiene un firmware, el proceso puede considerlo"
"'sin errores'"
echo "OJO: ** Pulse un carácter (tecla) para continuar. No se harán más preguntas."
read -n 1
break
else
echo "Opción errónea. Pulse '1' si quiere editar los archivos de" \
"configuración y '2' si deja los que están previstos."
fi
done
echo "Salvando las descargas -si las hubiera- de una compilación anterior..." | tee -a compilacion.log
cp -u -v VDR-NG-EM/VDR-NG-FW/downloads/* VDR-NG-EM/VDR-NG-FW.orig/downloads/ | tee -a compilacion.log
echo "Haciendo limpieza de ficheros..." | tee -a compilacion.log
rm -rf VDR-NG-EM/VDR-NG-FW
export CC=/usr/bin/gcc-3.4
echo "Actualizando VDR-NG-EM..." | tee -a compilacion.log
svn checkout http://svn.assembla.com/svn/VDR-M7x0/unstable ./VDR-NG-EM
# Aquí se configura automáticamente si la versión es PRO o LITE.
if [ "$esPRO" = "LITE" ]; then
sed -i 's/vdr_version="pro"/vdr_version="lite"/g' VDR-NG-EM/make-fw
else
sed -i 's/vdr_version="lite"/vdr_version="pro"/g' VDR-NG-EM/make-fw
fi
echo " "
echo "Recordatorio: compilando con la opción" \
"`grep ^vdr_version VDR-NG-EM/make-fw`" | tee -a compilacion.log
echo " "
echo "Preparando la compilación..." | tee -a compilacion.log
cd VDR-NG-EM
./make-fw
echo "Estamos en el directorio `pwd`" | tee -a compilacion.log
# Aquí se configura automáticamente el modelo del Siemens
if [ "$modelo" = "m740" ]; then
if [ "$esPRO" = "LITE" ]; then
echo 'm740' > ./VDR-NG-FW/buildin/base-lite/m740/etc/systemtype
else
echo 'm740' > ./VDR-NG-FW/buildin/base-pro/m740/etc/systemtype
fi
# VDR-NG-EM/VDR-NG-FW/buildin/base-pro/m740/etc/systemtype
elif [ "$modelo" = "m750t" ]; then
if [ "$esPRO" = "LITE" ]; then
echo 'm750t' > ./VDR-NG-FW/buildin/base-lite/m740/etc/systemtype
else
echo 'm750t' > ./VDR-NG-FW/buildin/base-pro/m740/etc/systemtype
fi
fi
# Aquí se abre el editor, si el usuario eligió editar archivos de configuración
if [ "$editarConfiguracion" = "1" ]; then
echo "Preparese para hacer cambios en los ficheros de configuración..." | tee -a compilacion.log
echo "No olvide guardar los cambios y cerrar el editor."
echo "Luego, vuelva a este script para continuar el procesamiento."
echo "OJO: ** Pulse un carácter (tecla) para abrir el editor."
read -n 1
# VDR-NG-EM/VDR-NG-FW/.config
config1="./VDR-NG-FW/.config"
config2="./VDR-NG-FW/buildin/base-pro/common/etc/rc.conf"
config3="./VDR-NG-FW/buildin/base-pro/common/etc/fstab"
gedit $config1 $config2 $config3
echo " "
# Se informa de que no harán más preguntas, de los ficheros de log y de que tenga paciencia.
echo "La compilación puede llevar 'bastante' tiempo. Paciencia."
echo "El archivo de log se llama 'compilacion.log'"
echo "El archivo con los warnings y los errores es 'errores.log'"
echo "Si al final obtiene un firmware, el proceso puede considerlo"
"'sin errores'"
echo "OJO: ** Pulse un carácter (tecla) para continuar. No se harán más preguntas."
read -n 1
fi
echo "Recuperando las descargas..." | tee -a compilacion.log
# Mover al directorio definitivo de descargas
mv -u -v VDR-NG-FW.orig/downloads/* VDR-NG-FW/downloads/ | tee -a compilacion.log
echo "Compilando el firmware..." | tee -a compilacion.log
echo "Se guardan las incidencias detalladas de la compilación en el fichero 'make.log'" | tee -a compilacion.log
cd VDR-NG-FW
export PATH=$PATH:./
# make
((make 3>&2 2>&1 1>&3 | tee ../../errores.log) 3>&2 2>&1 1>&3) 2>&1 | tee ../../make.log
cd ..
cd ..
echo "Fin de la compilación" | tee -a compilacion.log
exito="NO"
version=`svnversion VDR-NG-EM/Addons | cut -d ":" -f 2`
if [ -f VDR-NG-EM/VDR-NG-FW/open7x0.org-m740.ofi ]; then
cp VDR-NG-EM/VDR-NG-FW/open7x0.org-m740.ofi open7x0.org-m740-$version.ofi
echo "Firmware generado: open7x0.org-m740-$version.ofi" | tee -a compilacion.log
exito="SI"
fi
if [ -f VDR-NG-EM/VDR-NG-FW/open7x0.org-m740.wsw ]; then
cp VDR-NG-EM/VDR-NG-FW/open7x0.org-m740.wsw open7x0.org-m740-$version.wsw
echo "Firmware generado: open7x0.org-m740-$version.wsw" | tee -a compilacion.log
fi
if [ -f VDR-NG-EM/VDR-NG-FW/open7x0.org-m750s.ofi ]; then
cp VDR-NG-EM/VDR-NG-FW/open7x0.org-m750s.ofi open7x0.org-m750s-$version.ofi
echo "Firmware generado: open7x0.org-m750s-$version.ofi" | tee -a compilacion.log
fi
if [ -f VDR-NG-EM/VDR-NG-FW/open7x0.org-m750s.wsw ]; then
cp VDR-NG-EM/VDR-NG-FW/open7x0.org-m750s.wsw open7x0.org-m750s-$version.wsw
echo "Firmware generado: open7x0.org-m750s-$version.wsw" | tee -a compilacion.log
fi
if [ "$exito" = "NO" ]; then
echo "Ha habido un error. Eche un vistazo hacia el final del" \
"fichero 'errores.log' para tratar de averiguar el problema." | tee -a compilacion.log
else
echo "Puede proceder a la instalación del firmware." | tee -a compilacion.log
fi
echo "Fin de la compilación" | tee -a compilacion.log
date | tee -a compilacion.log
#fin de script
naldoco- Cantidad de envíos : 25
Fecha de inscripción : 31/08/2008
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Entiendo que es un script para reemplazar al make-fw, ¿no?
Última edición por bittor el Mar 19 Ene 2010 - 19:23, editado 1 vez
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Bittor lo podiamos cambiar de nombre, make-firm-gui o algo asi y subir al svn, puede ser muy util.
zjuanma- Desarrollador
- Cantidad de envíos : 818
Fecha de inscripción : 27/06/2008
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Lo he mirado un poco por encima y me parece un script interesante... si además pudiésemos hacer un script simple para activar/desactivar plugins en el momento de compilar, y además guardar las respuestas para otra compilación sería genial (al estilo de la compilación de un kernel).
pjllaneras- Betatester
- Cantidad de envíos : 569
Fecha de inscripción : 29/01/2009
Edad : 52
Localización : Palma de Mallorca
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Estas cosas me gustan. Son como una guía para torpes, club en el que forzosamente me tengo que incluir.
jb- Betatester
- Cantidad de envíos : 1193
Fecha de inscripción : 16/11/2008
Edad : 55
Localización : Lérida y Zaragoza
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Cada dia me sorprendeis mas.Apoyo lo de hacer que este script sea para compilar fw para torpes, entre los que me incluyo a pesar de que ya he aprendido a compilarme los fw.
Por lo que he leido seria algo asi como el instalador win pero en linux, que te va preguntando las opciones que quieres sin tener que modificar archivos de configuración.
Por lo que he leido seria algo asi como el instalador win pero en linux, que te va preguntando las opciones que quieres sin tener que modificar archivos de configuración.
axel2- Betatester
- Cantidad de envíos : 392
Fecha de inscripción : 04/02/2009
Edad : 61
Localización : Castelldefels, Catalunya
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Alguien hace tiempo puso un script que usaba un archivo de configuración con la red y demás cosas y algún otro usuario ha puesto su script personal para este proceso.
Lo suyo sería hacer un buen remix y reemplazar al arcaico make-fw.
Lo suyo sería hacer un buen remix y reemplazar al arcaico make-fw.
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Si puedo ayudar contar conmigo, aunque sea nuevo en este foro, hace tiempo que soy usuario de Linux, aunque toy en el paro xD jjaja.
Lo dicho, todo sea por mejorar el firm.
Como he leido mas arriba lo ideal seria en el momento de la compilacion, hacer una especie de menu como cuando modificas un kernel para activar modulos y tocar configuraciones. asi lo dejariamos listo para su compilacion.
Saludos
Lo dicho, todo sea por mejorar el firm.
Como he leido mas arriba lo ideal seria en el momento de la compilacion, hacer una especie de menu como cuando modificas un kernel para activar modulos y tocar configuraciones. asi lo dejariamos listo para su compilacion.
Saludos
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Eso estaría genial, aunque antes de hacer nada lo mejor sería abrir un nuevo mensaje en el que recoger ideas con los objetivos que tiene que cumplir el script de generación del firm.
A mi me gustó mucho un script que probé hace bastante tiempo para compilar el XBMC, que te instalaba hasta los paquetes que te faltaban para compilar el ToolChain, te actualizaba el SVN, te mostraba un mensaje con los cambios respecto a tu versión local, etc.
Otro proyecto que también me gusta mucho (del que he cogido algunos parches e ideas para nuestro firmware) es openwrt.org que tienen un menú como cuando se compila el Kernel.
A mi me gustó mucho un script que probé hace bastante tiempo para compilar el XBMC, que te instalaba hasta los paquetes que te faltaban para compilar el ToolChain, te actualizaba el SVN, te mostraba un mensaje con los cambios respecto a tu versión local, etc.
Otro proyecto que también me gusta mucho (del que he cogido algunos parches e ideas para nuestro firmware) es openwrt.org que tienen un menú como cuando se compila el Kernel.
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Me parece una buena idea, tal como se ha hecho con otros temas. En este hilo ya han aparecido unas cuantas ideas interesantes.bittor escribió:Eso estaría genial, aunque antes de hacer nada lo mejor sería abrir un nuevo mensaje en el que recoger ideas con los objetivos que tiene que cumplir el script de generación del firm.
pjllaneras- Betatester
- Cantidad de envíos : 569
Fecha de inscripción : 29/01/2009
Edad : 52
Localización : Palma de Mallorca
Re: Script de compilación de VDR-NG-EM para GNU/Linux
Disculpas por soltar el script y luego no revisar el hilo de respuestas (he estado pillado). El script como veis es muy sencillo, pero al menos evita saltarse pasos y facilita las cosas. Por supuesto es buena idea ponerle un nombre más apropiado y ubicarlo en el sitio mejor.
Y como se ha apuntado lo ideal sería hacer una lista de objetivos y de modificaciones, para desarrollar y mejorar el script. Contad conmigo .
Y como se ha apuntado lo ideal sería hacer una lista de objetivos y de modificaciones, para desarrollar y mejorar el script. Contad conmigo .
Última edición por naldoco el Vie 22 Ene 2010 - 18:53, editado 2 veces (Razón : Aparece un código de color de alguna etiqueta mal cerrada.)
naldoco- Cantidad de envíos : 25
Fecha de inscripción : 31/08/2008
Temas similares
» Script ejecutable para automatizar la compilación.
» Script para reproducir grabaciones VDR -sin saltos- en VLC para Windows.
» script compilación
» Compilación en linux
» Compilación de plugins en Linux
» Script para reproducir grabaciones VDR -sin saltos- en VLC para Windows.
» script compilación
» Compilación en linux
» Compilación de plugins en Linux
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.