Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Navegación
 Índice
 Wiki
 FAQ del foro
 FAQ del VDR-NG-EM
 Funcionalidades del VDR
 Mejoras del VDR-NG-EM
 Primeros pasos FW-VDR
 Descargas VDR-NG-EM
Flujo RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Script de compilación de VDR-NG-EM para GNU/Linux

Ver el tema anterior Ver el tema siguiente Ir abajo

Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por naldoco el Mar 19 Ene 2010 - 16:08

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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por bittor el Mar 19 Ene 2010 - 17:12

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
avatar
bittor
Desarrollador

Cantidad de envíos : 3633
Fecha de inscripción : 25/06/2008
Localización : Zaragoza

Ver perfil de usuario http://bittor7x0.googlepages.com

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por zjuanma el Mar 19 Ene 2010 - 18:12

Bittor lo podiamos cambiar de nombre, make-firm-gui o algo asi y subir al svn, puede ser muy util.

_________________
M740AV + VDR-NG-EM 0.5 - SVN EM 759 - SVN TC - o7o 410 - SVN plugins 744
Disco: Western Digital Elements mediante un NAS
Conectado a Internet
Plugin yaep 0.2.1: http://sites.google.com/site/yaepvdr
avatar
zjuanma
Desarrollador

Cantidad de envíos : 818
Fecha de inscripción : 27/06/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por pjllaneras el Mar 19 Ene 2010 - 18:53

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).
avatar
pjllaneras
Betatester

Cantidad de envíos : 569
Fecha de inscripción : 29/01/2009
Edad : 45
Localización : Palma de Mallorca

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por jb el Mar 19 Ene 2010 - 18:55

Estas cosas me gustan. Son como una guía para torpes, club en el que forzosamente me tengo que incluir.
avatar
jb
Betatester

Cantidad de envíos : 1192
Fecha de inscripción : 16/11/2008
Edad : 48
Localización : Lérida y Zaragoza

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por axel2 el Mar 19 Ene 2010 - 19:24

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.
avatar
axel2
Betatester

Cantidad de envíos : 392
Fecha de inscripción : 04/02/2009
Edad : 54
Localización : Castelldefels, Catalunya

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por bittor el Mar 19 Ene 2010 - 19:31

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.
avatar
bittor
Desarrollador

Cantidad de envíos : 3633
Fecha de inscripción : 25/06/2008
Localización : Zaragoza

Ver perfil de usuario http://bittor7x0.googlepages.com

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por AzagraMac el Mar 19 Ene 2010 - 19:41

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
avatar
AzagraMac
Betatester

Cantidad de envíos : 121
Fecha de inscripción : 17/01/2010
Edad : 34
Localización : Madrid

Ver perfil de usuario http://azagramac.wordpress.com

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por bittor el Miér 20 Ene 2010 - 9:17

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.
avatar
bittor
Desarrollador

Cantidad de envíos : 3633
Fecha de inscripción : 25/06/2008
Localización : Zaragoza

Ver perfil de usuario http://bittor7x0.googlepages.com

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por pjllaneras el Miér 20 Ene 2010 - 18:24

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.
Me parece una buena idea, tal como se ha hecho con otros temas. En este hilo ya han aparecido unas cuantas ideas interesantes.
avatar
pjllaneras
Betatester

Cantidad de envíos : 569
Fecha de inscripción : 29/01/2009
Edad : 45
Localización : Palma de Mallorca

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por naldoco el Vie 22 Ene 2010 - 18:49

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 .


Ú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

Ver perfil de usuario

Volver arriba Ir abajo

Re: Script de compilación de VDR-NG-EM para GNU/Linux

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.