Installscript

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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

Webvideo

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

Download

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

Anleitung

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

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

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
            |--+ [...]

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}

Module

Hinzufügen

Im Mainmenü.

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

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...

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

Tipps

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

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.

Distributions-spezifisch

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/

Gentoo

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

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.

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


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

Probleme

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.

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

Wunschliste

Links

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