Installscript
Inhaltsverzeichnis |
Was ist das Installscript?
Das Installscript ist ein Tool, mit dem die üblichen Installationsschritte durch eine Sammlung von Skripten erledigt werden.
Voraussetzungen
- Entwicklungsumgebung...
bash> sh vdr-install-script-current.run -- --checkreq
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@euro"), sind auch die Scripts in Deutsch, sollte das nicht der Fall sein.
Einfach, vorm ausfuehren der Scripts.
bash> export LANG=de_DE@euro
Alternativ.
bash> LANG=de_DE@euro sh setup.sh bash> LANG=de_DE@euro 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...).
+-- $DISDIR +-- setup +-- config |--+ setup.conf |--+ make.conf |--+ modules.conf |--+ sources.conf |--+ marks2pts.conf |--+ keymacros.conf +-- examples +-- plugins +-- mailbox |--+ accounts.conf +-- 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 :-)
+-- $DISDIR +-- admin +-- command-cmds |--+ *.conf +-- plugin-cmds |--+ *.conf +-- recording-cmds |--+ *.run +-- shutdown-cmds |--+ *.run +-- start-cmds |--+ rc |--+ 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.
+-- /usr/local ("$INSTALLPREFIX") +-- src +-- VDR +-- DVB +-- stow +-- package +-- bin +-- lib +-- doc +-- cache +-- cddb +-- gameboy +-- infosatepg +-- mp3 +-- podcatcher +-- mldonkey +-- tvmovie2vdr +-- epgimages +-- downloadfiles +-- downloadupdatefiles +-- vtx +-- etc +-- graphlcd |--+ graphlcd.conf +-- igor |--+ igor.conf +-- lcdproc |--+ LCDd.conf +-- lirc |--+ lircd.conf |--+ lircrc +-- mplayer |--+ codecs.conf +-- mplayersh |--+ mplayer.sh.conf |--+ lircrc.conf +-- nvram-wakeup |--+ nvram-wakeup.conf +-- sharemarks |--+ marks2pts.conf +-- tvmovie2vdr |--+ channels.pl |--+ channels_wanted.pl |--+ config.pl +-- vdr ("$DISDIR") |--+ setup.conf +-- vdradmin |--+ vdradmind.{at,bl,conf,done} +-- vdrrip |--+ queuehandler.conf
Module
Hinzfügen
bash> ./vdr-install-script-<VERSION>.run -- --plgadd bash> ./setup.sh --plgadd
Import
bash> ./vdr-install-script-<VERSION>.run -- --add="<URL>/<MODUL>" bash> ./setup.sh --add="<URL>/<MODUL>"
Entfernen
bash> ./setup.sh --plgrm
Achso, wie auch bei den Scripts... alles ungetestet.
- Ein Modul setzt Kernel 2.6.* vorraus...
- Einiege 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.
bash> sh setup.sh --ostype ==> real_os_type="Redhat Linux Desktop" ==> real_os_version="10.0"
Module erweitern.
CallDepend() { case $real_os_type in "Arch Linux") pacman -S libcap libjpeg ;; "Crux Linux") if ! prt-get isinst libcap libjpeg ; then prt-get depinst libcap libjpeg fi ;; "Debian Linux") apt-get install libjpeg62-dev libcap-dev ;; "Gentoo Linux") emerge jpeg libcap -n ;; "SuSE Linux") case $real_os_version in 7.3|8.0|8.1|8.2|9.0|9.1) if ! rpm -q libjpeg libcap ; then yast -i libjpeg libcap fi ;; *) if ! rpm -q libjpeg libjpeg-devel libcap ; then yast -i libjpeg libjpeg-devel libcap fi ;; esac ;; + "Redhat Linux Desktop") + if ! <TEST(S)> ; then + <INSTALLATIONS-BEFEHL(E)> + fi + ;; esac }
Stow(ES)
GNU stow hilft die Dateien unter /usr/local zu organisieren, indem jede Software in ihrem eigenen Verzeichnis-Baum unter /usr/local/stow installiert wird und dann durch die Benutzung von symbolischen Links die Illusion erzeugt wird, das alle Software an der gleichen Stelle installiert sei.
Hier mal die wichtigsten Befehle.
- help
bash> /usr/local/stow/stowES help --prog stow=/usr/local/stow/stow
- (c)heck(s)tow / überprüfe
bash> /usr/local/stow/stowES cs --prog stow=/usr/local/stow/stow Checking packages in /usr/local/stow (78 matches): I ( 772.5) DFB++-0.9.20 I ( 1,385) DirectFB-0.9.20 I (19223.5) ImageMagick-6.0.2 I ( 10,085) MPlayer-1.0pre4 ....
- (c)heck(i)n / linkout
bash> /usr/local/stow/stowES ci MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow Calling "stow" to check in package MPlayer-1.0pre4 ...done. Calling ldconfig
- (c)eck(o)ut / linkin
bash> /usr/local/stow/stowES co MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow Calling "stow -D" to check out package MPlayer-1.0pre4 ...done. Calling ldconfig.
- (r)e(m)ove / löschen
bash> /usr/local/stow/stowES rm MPlayer-1.0pre4 --prog stow=/usr/local/stow/stow Calling "stow -D" to check out package MPlayer-1.0pre4 ...done. Calling "rm -rf" to remove package MPlayer-1.0pre4 ...done. Calling ldconfig.
- exchange / wechsel
bash> /usr/local/stow/stowES exchange MPlayer-1.0pre4 MPlayer-1.0pre5 --prog stow=/usr/local/stow/stow Calling "stow -D" to check out package MPlayer-1.0pre4 ...done. Calling "stow" to check in package MPlayer-1.0pre5 ...done. Calling ldconfig.
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> cd /usr/local/testumgebung/bin bash> ./runvdr start
Update
Normal wird beim ausführen von *.run das gröbste überschrieben (alles unterhalb von ../setup). Rest bleibt erhalten... (zbs)
+-- $DISDIR +-- admin +-- 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.
Probleme
Slackware (wildcards)
Nach einem slapt-get --upgrade funktionieren keine wildcards mehr, somit auch nicht mehr das Script selbst.
Quelle: http://vdrportal.de/board/thread.php?threadid=38472
admin-plugin (fehlende Menü Punkte)
Sollten im Plugin Menü Punkte fehlen, mal die Zeilen zählen.
bash> wc -l < /usr/local/etc/vdr/admin/admin.conf 343
Und mit dem Limit in der admin.c des Plugins vergleichen, falls kleiner, wie folgt ändern. (neu übersetzen)
- #define MAX_ENTRIES 256 + #define MAX_ENTRIES 1024
Oder die aktuellen Sourcen nutzen: http://gentoo.fh-luh.de/files/vdr-admin
Links
[1] | ftp://ftp.cadsoft.de/vdr/Tools | Cadsoft Ftp |
[2] | http://linvdr.org/download/vdr/Tools | Download Spiegel |
[3] | http://savannah.gnu.org/projects/stow | GNU Stow Projekt Homepage |
[4] | http://www.inf.tu-dresden.de/~al10/stowES | Erweiterung für Stow |
[5] | http://linuxwiki.de/Stow | Stow Wiki |