Installscript

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (SuSE)
(Entfernen von "Vorraussetzungen": checkreq scheint es nicht mehr zu geben, ebensowenig einen ähnlichen Befehl)
 
(45 dazwischenliegende Versionen von 20 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.
 
Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.
  
[[Bild:installscript-0.png|thumb|none|''lxdialog'']]
+
{|
 +
|[[Bild:installscript-0.png|thumb|none|''0.5.8'']]
 +
|[[Bild:installscript-1.jpg|thumb|none|''0.9.8.7'']]
 +
|}
  
==Voraussetzungen==
+
==Webvideo==
* Entwicklungsumgebung...
+
Mal eine Installation, als {{vdrportal board|85149|Webvideo}} unter {{wikipedia|openSuSE}} 11.1 auf der {{wikipedia|Konsole}}, mit ''geschnitten''.
  
  bash> sh vdr-install-script-current.run -- --checkreq
+
==Download==
 +
  bash> wget ftp://ftp.tvdr.de/vdr/Tools/vdr-install-script-current.run
  
 
==Anleitung==
 
==Anleitung==
Zeile 17: Zeile 21:
 
Normal werden die lokalen (''locale'') Einstellungen uebernommen.
 
Normal werden die lokalen (''locale'') Einstellungen uebernommen.
  
Sprich ist die Konsole in Deutsch ('''LC_MESSAGES="de_DE@euro"'''), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.
+
Sprich ist die Konsole in Deutsch ('''LC_MESSAGES="de_DE.UTF8"''' oder '''de_DE.iso885915@euro'''), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.
  
 
Einfach, vorm ausfuehren der Scripts.
 
Einfach, vorm ausfuehren der Scripts.
  
  bash> export LANG=de_DE@euro
+
  bash> export LANG=de_DE.UTF8
  
 
Alternativ.
 
Alternativ.
  
  bash> LANG=de_DE@euro sh setup.sh
+
  bash> LANG=de_DE.UTF8 sh setup.sh
  bash> LANG=de_DE@euro sh vdr-install-script-current.run
+
  bash> LANG=de_DE.UTF8 sh vdr-install-script-current.run
  
 
===Skripte anpassen===
 
===Skripte anpassen===
Zeile 41: Zeile 45:
 
     +-- [[Bild:Folder.png]] setup
 
     +-- [[Bild:Folder.png]] setup
 
         +-- [[Bild:Folder.png]] config
 
         +-- [[Bild:Folder.png]] config
 +
            |--+ [[installscript-different.conf|'''different.conf''']]
 
             |--+ [[installscript-setup.conf|'''setup.conf''']]
 
             |--+ [[installscript-setup.conf|'''setup.conf''']]
 
             |--+ [[installscript-make.conf|'''make.conf''']]
 
             |--+ [[installscript-make.conf|'''make.conf''']]
Zeile 83: Zeile 88:
 
  +-- [[Bild:Folder.png]] /usr/local ("'''$INSTALLPREFIX'''")
 
  +-- [[Bild:Folder.png]] /usr/local ("'''$INSTALLPREFIX'''")
 
     +-- [[Bild:Folder.png]] src
 
     +-- [[Bild:Folder.png]] src
         +-- [[Bild:Folder.png]] VDR
+
         +-- [[Bild:Folder.png]] VDR -> vdr-$VERSION
         +-- [[Bild:Folder.png]] DVB
+
         +-- [[Bild:Folder.png]] DVB -> v4l-dvb-snapshot-$TIMESTAMP
 
     +-- [[Bild:Folder.png]] stow
 
     +-- [[Bild:Folder.png]] stow
 
         +-- [[Bild:Folder.png]] package
 
         +-- [[Bild:Folder.png]] package
Zeile 97: Zeile 102:
 
         +-- [[Bild:Folder.png]] podcatcher
 
         +-- [[Bild:Folder.png]] podcatcher
 
         +-- [[Bild:Folder.png]] mldonkey
 
         +-- [[Bild:Folder.png]] mldonkey
        +-- [[Bild:Folder.png]] tvmovie2vdr
 
            +-- [[Bild:Folder.png]] epgimages
 
            +-- [[Bild:Folder.png]] downloadfiles
 
            +-- [[Bild:Folder.png]] downloadupdatefiles
 
 
         +-- [[Bild:Folder.png]] vtx
 
         +-- [[Bild:Folder.png]] vtx
 
     +-- [[Bild:Folder.png]] etc
 
     +-- [[Bild:Folder.png]] etc
Zeile 114: Zeile 115:
 
         +-- [[Bild:Folder.png]] nvram-wakeup
 
         +-- [[Bild:Folder.png]] nvram-wakeup
 
             |--+ nvram-wakeup.conf
 
             |--+ nvram-wakeup.conf
        +-- [[Bild:Folder.png]] tvmovie2vdr
 
            |--+ channels.pl
 
            |--+ channels_wanted.pl
 
            |--+ config.pl
 
 
         +-- [[Bild:Folder.png]] vdr ("'''$DISDIR'''")
 
         +-- [[Bild:Folder.png]] vdr ("'''$DISDIR'''")
 
             |--+ setup.conf
 
             |--+ setup.conf
Zeile 125: Zeile 122:
 
===Module===
 
===Module===
 
====Hinzufügen====
 
====Hinzufügen====
<pre>
+
Im Mainmenü.
bash> ./vdr-install-script-<VERSION>.run -- --plgadd
+
bash> ./setup.sh --plgadd
+
</pre>
+
  
Oder '''../preeplugins/<PLUGIN>.bak''' nach '''../preeplugins/<PLUGIN>.cmd''' umbenennen.
+
Oder von '''../preeplugins/<PLUGIN>.bak''' nach '''../preeplugins/<PLUGIN>.cmd''' umbenennen.
  
 
====Import====
 
====Import====
Zeile 136: Zeile 130:
 
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
 
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
 
bash> ./setup.sh --add="<URL>/<MODUL>"
 
bash> ./setup.sh --add="<URL>/<MODUL>"
</pre>
 
 
====Entfernen====
 
<pre>
 
bash> ./setup.sh --plgrm
 
 
</pre>
 
</pre>
  
Zeile 163: Zeile 152:
 
<pre>
 
<pre>
 
CallDepend() {
 
CallDepend() {
    case $real_os_type in
 
 
"Arch Linux")
 
"Arch Linux")
if ! pacman -Q libcap libjpeg ; then
+
if ! pacman -Q libcap libjpeg freetype2 fontconfig gettext ; then
    pacman -S libcap libjpeg
+
    pacman -S libcap libjpeg freetype2 fontconfig gettext
 
fi
 
fi
 
;;
 
;;
 
"Crux Linux")
 
"Crux Linux")
if ! prt-get isinst libcap libjpeg ; then
+
if ! prt-get isinst libcap libjpeg freetype fontconfig gettext ; then
    prt-get depinst libcap libjpeg
+
    prt-get depinst libcap libjpeg freetype fontconfig gettext
 
fi
 
fi
 
;;
 
;;
"Debian Linux") apt-get install libjpeg62-dev libcap-dev ;;
+
"Debian Linux") apt-get install dialog libcap-dev libjpeg62-dev libfreetype6{,-dev} fontconfig{,-config} libfontconfig1{,-dev} ;;
"Gentoo Linux") emerge jpeg libcap -n ;;
+
"Gentoo Linux") emerge sys-libs/libcap media-libs/jpeg media-libs/freetype media-libs/fontconfig sys-devel/gettext -n ;;
 
"SuSE Linux")
 
"SuSE Linux")
 
case $real_os_version in
 
case $real_os_version in
 
    7.3|8.0|8.1|8.2|9.0|9.1)
 
    7.3|8.0|8.1|8.2|9.0|9.1)
if ! rpm -q libjpeg libcap ; then
+
if ! rpm -q libcap libjpeg ; then
    yast -i libjpeg libcap
+
    yast -i libcap libjpeg
 
fi
 
fi
 
;;
 
;;
 
    *)
 
    *)
if ! rpm -q libjpeg libjpeg-devel libcap ; then
+
if ! rpm -q libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel} ; then
    yast -i libjpeg libjpeg-devel libcap
+
    yast -i libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel}
 
fi
 
fi
 
;;
 
;;
Zeile 237: Zeile 225:
 
===Distributions-spezifisch===
 
===Distributions-spezifisch===
 
====[[Crux]]====
 
====[[Crux]]====
Der Support für [[Crux]], ist zwar noch drinnen, besser das Port-System nutzen => [[Crux_2.3#VDR_installation]] => http://ronnykornexl.de/crux/ports/
+
Der Support für [[Crux]], ist zwar noch drinnen, besser das Port-System nutzen => [[Crux_2.5#VDR_installation]] => http://ronny-kornexl.homepage.t-online.de/crux/ports/
  
 
====[[Gentoo]]====
 
====[[Gentoo]]====
Zeile 246: Zeile 234:
  
 
====[[SuSE]]====
 
====[[SuSE]]====
Bei [[SuSE]] ist die Installationsquelle zu wechseln, siehe auch: http://packman.links2linux.de/?action=faq
+
Community Repositories hinzufügen. (in '''0.9.7.4''' obsolete)
  
+ VideoLan
+
shell> yast inst_productsources
 +
shell> yast2 inst_productsources
  
Sowie >= 10.1 [[VDR Installation#SuSE]]
+
'''[x] Packman Repository'''<br>
 +
'''[x] VideoLan Repository'''
  
===Kernel Treiber der Distribution nutzen===
+
Kurz:
Da ist folgender Punkt, außen vor zu lassen, sprich nicht zu entpacken / installieren.
+
  
<pre>< >      |---+ Driver for the DVB card's ---></pre>
+
shell> zypper ar -t YUM ftp://ftp5.gwdg.de/pub/linux/misc/packman/suse/<'''VERSION'''> Packman
 +
shell> zypper ar -t YUM http://download.videolan.org/pub/videolan/vlc/SuSE/<'''VERSION'''> VideoLan
  
In ... sind dann die benötigten Module einzutragen.
 
  
{{Box Datei|VDRCONFIG/admin/start-cmds/dvb|
 
<pre>
 
# loads the following modules
 
DVB_LOAD_MODULES="
 
videodev
 
dvb-core dvb_shutdown_timeout=0
 
alps_bsrv2
 
alps_tdmb7
 
alps_tdlb7
 
grundig_29504-401
 
grundig_29504-491
 
mt312
 
stv0299
 
ves1820
 
input
 
evdev
 
dvb-ttpci
 
"
 
  
# unload the following modules
+
===Internationalisierung {{wikipedia|I18N}}===
DVB_UNLOAD_MODULES="
+
 
dvb-ttpci
+
Derzeit ist EN / DE vorhanden, hier ein kleine Anleitung, zum hinzufügen anderer Übersetzungen. (Bsp.: '''fr_FR''')
evdev
+
 
input
+
shell> cd setup/locale
alps_bsrv2
+
shell> make
alps_tdmb7
+
shell> cp vdr-install-script.pot fr_FR.po
alps_tdlb7
+
                                  ^^^^^
grundig_29504-401
+
                                  shell> locale -a | cut -d. -f1
grundig_29504-491
+
 
stv0299
+
shell> sed -i 's:charset=CHARSET:charset=ISO-8859-15:' fr_FR.po
ves1820
+
 
tda1004x
+
Jetzt kann in '''fr_FR.po''', die Übersetzung erfolgen.
mt312
+
 
dvb-core
+
  #: ../admin/shutdown-cmds/procs.run:6
videodev
+
  msgid "proc(s) running"
"
+
  msgstr "<übersetzung>"
</pre>
+
 
}}
+
Zu guter letzt:
 +
 
 +
shell> make
  
 
==Probleme==
 
==Probleme==
 +
===unexpected operator, beim ausführen des Skripts===
 
Bei einem Fehler in der Art:  
 
Bei einem Fehler in der Art:  
  
Zeile 305: Zeile 279:
  
 
sollte überprüft werden ob der Link von '/bin/sh' auf '/bin/bash' verweist.
 
sollte überprüft werden ob der Link von '/bin/sh' auf '/bin/bash' verweist.
 +
 +
===umlaute in vdr menus===
 +
Wenn Umlaute, nicht richtig dargestellt werden.
 +
 +
Zbs. Kan'''<span style="color:#ff0000;">?</span>'''le anstatt Kan'''<span style="color:#ff0000;">ä</span>'''le im VDR Menu, folgende Variable in der '''[[installscript-vdr.conf|vdr.conf]]''' auskommentieren.
 +
 +
# VDR needs to run in non-UTF8 locale?
 +
- LC_CTYPE="POSIX
 +
+ #LC_CTYPE="POSIX
  
 
==Wunschliste==
 
==Wunschliste==
  
 
==Links==
 
==Links==
# [ftp://ftp.cadsoft.de/vdr/Tools Cadsoft Ftp]
+
# [ftp://ftp.tvdr.de/vdr/Tools VDR Ftp]
 
# [http://linvdr.org/download/vdr/Tools Download Spiegel]
 
# [http://linvdr.org/download/vdr/Tools Download Spiegel]
 
# [http://savannah.gnu.org/projects/stow GNU Stow Projekt Homepage]
 
# [http://savannah.gnu.org/projects/stow GNU Stow Projekt Homepage]

Aktuelle Version vom 9. Dezember 2012, 18:09 Uhr

Inhaltsverzeichnis

[Bearbeiten] Was ist das Installscript?

Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.

0.5.8
0.9.8.7

[Bearbeiten] Webvideo

Mal eine Installation, als Webvideo unter openSuSE 11.1 auf der Konsole, mit geschnitten.

[Bearbeiten] Download

bash> wget ftp://ftp.tvdr.de/vdr/Tools/vdr-install-script-current.run

[Bearbeiten] Anleitung

[Bearbeiten] Vorab

  • Linux-Grundwissen erforderlich.
  • Man sollte schon das eine und auch andere mal einen VDR von Hand kompiliert haben.
  • In Deutsch?

Normal werden die lokalen (locale) Einstellungen uebernommen.

Sprich ist die Konsole in Deutsch (LC_MESSAGES="de_DE.UTF8" oder de_DE.iso885915@euro), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.

Einfach, vorm ausfuehren der Scripts.

bash> export LANG=de_DE.UTF8

Alternativ.

bash> LANG=de_DE.UTF8 sh setup.sh
bash> LANG=de_DE.UTF8 sh vdr-install-script-current.run

[Bearbeiten] Skripte anpassen

Entpacken.

bash> sh vdr-install-script-current.run --noexec --target /tmp/vdr
bash> cd /tmp/vdr/setup

Folgende Konfigurationsdateien sollte man sich an seine Bedürfnisse anpassen (Beschreibungen befinden sich unter den Links...).

+-- Folder.png $DISDIR
    +-- Folder.png setup
        +-- Folder.png config
            |--+ different.conf
            |--+ setup.conf
            |--+ make.conf
            |--+ modules.conf
            |--+ sources.conf
            |--+ keymacros.conf
        +-- Folder.png examples
            +-- Folder.png plugins
                +-- Folder.png mailbox
                    |--+ accounts.conf
            +-- Folder.png vdr
                |--+ vdr.conf

Die meisten Optionen können unabhängig von der setup.conf auf der Komandozeile übergeben werden:

bash> LANG="de_DE@euro" ./setup.sh --help
bash> LANG="de_DE@euro" sh vdr-install-script-current.run -- --help

[Bearbeiten] CMD(s)

Beschreibungen... Links folgen :-)

+-- Folder.png $DISDIR
    +-- Folder.png admin
        +-- Folder.png command-cmds
        +-- Folder.png plugin-cmds
        +-- Folder.png recording-cmds
        +-- Folder.png shutdown-cmds
        +-- Folder.png start-cmds
            |--+ Folder.png rc
            |--+ Folder.png rc.d
            |--+ [...]

[Bearbeiten] Struktur

Verzeichnis für die Konfiguration, ist $PREFIX/etc (Standard), es sei denn es wurde anders Definiert.

--prefix=DIR

Das ganze schaut in etwa wie folgt aus, es wurde soweit wie möglich versucht System + VDR zu trennen.

+-- Folder.png /usr/local ("$INSTALLPREFIX")
    +-- Folder.png src
        +-- Folder.png VDR -> vdr-$VERSION
        +-- Folder.png DVB -> v4l-dvb-snapshot-$TIMESTAMP
    +-- Folder.png stow
        +-- Folder.png package
            +-- Folder.png bin
            +-- Folder.png lib
            +-- Folder.png doc
    +-- Folder.png cache
        +-- Folder.png cddb
        +-- Folder.png gameboy
        +-- Folder.png infosatepg
        +-- Folder.png mp3
        +-- Folder.png podcatcher
        +-- Folder.png mldonkey
        +-- Folder.png vtx
    +-- Folder.png etc
        +-- Folder.png graphlcd
            |--+ graphlcd.conf
        +-- Folder.png igor
            |--+ igor.conf
        +-- Folder.png lcdproc
            |--+ LCDd.conf
        +-- Folder.png lirc
            |--+ lircd.conf
            |--+ lircrc
        +-- Folder.png nvram-wakeup
            |--+ nvram-wakeup.conf
        +-- Folder.png vdr ("$DISDIR")
            |--+ setup.conf
        +-- Folder.png vdradmin
            |--+ vdradmind.{at,bl,conf,done}

[Bearbeiten] Module

[Bearbeiten] Hinzufügen

Im Mainmenü.

Oder von ../preeplugins/<PLUGIN>.bak nach ../preeplugins/<PLUGIN>.cmd umbenennen.

[Bearbeiten] Import

bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>"
bash> ./setup.sh --add="<URL>/<MODUL>"

Achso, wie auch bei den Scripts... alles ungetestet.

  • Ein Modul setzt Kernel 2.6.* vorraus...
  • Einige sind nicht über den Beta Status hinaus gekommen... (kann ich nicht beurteilen, am besten selbst testen)
  • Bei anderen fehlen Links...
  • usw...

[Bearbeiten] Erweitern

Scripts für andere Distributionen erweitern, version auslesen.

shell> sh setup.sh --ostype
==>  real_os_type="Redhat Linux Desktop"
==>  real_os_version="10.0"

Module erweitern.

CallDepend() {
	 "Arch Linux")
		if ! pacman -Q libcap libjpeg freetype2 fontconfig gettext ; then
		    pacman -S libcap libjpeg freetype2 fontconfig gettext
		fi
		;;
	 "Crux Linux")
		if ! prt-get isinst libcap libjpeg freetype fontconfig gettext ; then
		    prt-get depinst libcap libjpeg freetype fontconfig gettext
		fi
		;;
	 "Debian Linux") apt-get install dialog libcap-dev libjpeg62-dev libfreetype6{,-dev} fontconfig{,-config} libfontconfig1{,-dev} ;;
	 "Gentoo Linux") emerge sys-libs/libcap media-libs/jpeg media-libs/freetype media-libs/fontconfig sys-devel/gettext -n ;;
	 "SuSE Linux")
		case $real_os_version in
		     7.3|8.0|8.1|8.2|9.0|9.1)
			if ! rpm -q libcap libjpeg ; then
			    yast -i libcap libjpeg
			fi
			;;
		     *)
			if ! rpm -q libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel} ; then
			    yast -i libcap-devel libjpeg-devel freetype2{,-devel} fontconfig{,-devel} gettext{,-devel}
			fi
			;;
		esac
		;;
+	"Redhat Linux Desktop")
+		if ! <TEST(S)> ; then
+		    <INSTALLATIONS-BEFEHL(E)> <PAKETE>
+		fi
+		;;
    esac
}

Wer die Abhängkeiten selbst auflösen möchte, kann diese function aushebeln.

shell> sh setup.sh --without-depends

[Bearbeiten] Tipps

[Bearbeiten] Mehrere Versionen

Mehrere Versionen von VDR nebenher installieren, einfach --prefix ändern.

bash> ./setup.sh --prefix=/usr/local/testumgebung
                   ^^^^^^
                   entpricht sonst /usr/local

Dann.

bash> /usr/local/testumgebung/bin/runvdr start

[Bearbeiten] Update

Normal wird beim ausführen von *.run das gröbste überschrieben (alles unterhalb von ../setup). Rest bleibt erhalten... (zbs)

+-- Folder.png $DISDIR
    +-- Folder.png admin
    +-- Folder.png plugins

Sollte es bei Versionswechseln zu Fehlern kommen, kann folgende Übergabe Sinnvoll sein.

bash> ./setup.sh --load-default-settings
bash> ./vdr-install-script-<VERSION>.run -- --load-default-settings

Damit werden die Standard-Einstellungen geladen.

[Bearbeiten] Distributions-spezifisch

[Bearbeiten] Crux

Der Support für Crux, ist zwar noch drinnen, besser das Port-System nutzen => Crux_2.5#VDR_installation => http://ronny-kornexl.homepage.t-online.de/crux/ports/

[Bearbeiten] Gentoo

Da war etwas mit den MPlayer, siehe Gentoo VdrMplayer USE-Variablen.

[Bearbeiten] Debian

Bei Debian am besten hier schauen Debian - mit 2.6.9er / 2.6.10er Kernel für VDR aufsetzen, für das erweitern der sources.list.

[Bearbeiten] SuSE

Community Repositories hinzufügen. (in 0.9.7.4 obsolete)

shell> yast inst_productsources
shell> yast2 inst_productsources

[x] Packman Repository
[x] VideoLan Repository

Kurz:

shell> zypper ar -t YUM ftp://ftp5.gwdg.de/pub/linux/misc/packman/suse/<VERSION> Packman
shell> zypper ar -t YUM http://download.videolan.org/pub/videolan/vlc/SuSE/<VERSION> VideoLan


[Bearbeiten] Internationalisierung I18N

Derzeit ist EN / DE vorhanden, hier ein kleine Anleitung, zum hinzufügen anderer Übersetzungen. (Bsp.: fr_FR)

shell> cd setup/locale
shell> make
shell> cp vdr-install-script.pot fr_FR.po
                                 ^^^^^
                                 shell> locale -a | cut -d. -f1
shell> sed -i 's:charset=CHARSET:charset=ISO-8859-15:' fr_FR.po

Jetzt kann in fr_FR.po, die Übersetzung erfolgen.

 #: ../admin/shutdown-cmds/procs.run:6
 msgid "proc(s) running"
 msgstr "<übersetzung>"

Zu guter letzt:

shell> make

[Bearbeiten] Probleme

[Bearbeiten] unexpected operator, beim ausführen des Skripts

Bei einem Fehler in der Art:

[: 28: 0: unexpected operator ./setup/setup.sh: 41: Syntax error: Bad substitution

sollte überprüft werden ob der Link von '/bin/sh' auf '/bin/bash' verweist.

[Bearbeiten] umlaute in vdr menus

Wenn Umlaute, nicht richtig dargestellt werden.

Zbs. Kan?le anstatt Kanäle im VDR Menu, folgende Variable in der vdr.conf auskommentieren.

# VDR needs to run in non-UTF8 locale?
- LC_CTYPE="POSIX
+ #LC_CTYPE="POSIX

[Bearbeiten] Wunschliste

[Bearbeiten] Links

  1. VDR Ftp
  2. Download Spiegel
  3. GNU Stow Projekt Homepage
  4. Erweiterung für Stow
  5. Stow Wiki
In anderen Sprachen