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 |--+ bigpatch.conf |--+ commands.conf |--+ reccmds.conf |--+ make.conf |--+ modules.conf |--+ sources.conf |--+ configure.conf |--+ marks2pts.conf |--+ keymacros.conf |--+ timercmds.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.
+--$PREFIX +--
src +--
VDR +--
DVB +--
stow +--
package +--
bin +--
lib +--
doc +--
cache +--
cddb +--
gameboy +--
infosatepg +--
mp3 +--
mldonkey +--
tvmovie2vdr +--
epgimages +--
downloadfiles +--
downloadupdatefiles +--
vtx +--
etc +--
vdr +--
command-cmds |--+ SHAREMARKS-reccmds-<NUM>.conf |--+ TVMOVIE2VDR-commands-<NUM>.conf +--
graphlcd |--+ graphlcd.conf +--
lcdproc |--+ LCDd.conf +--
lirc |--+ lircd.conf |--+ lircrc +--
mplayer |--+ codecs.conf |--+ lircrc.conf |--+ mplayer.sh.conf +--
nvram-wakeup |--+ nvram-wakeup.conf +--
sharemarks |--+ marks2pts.conf +--
tvmovie2vdr |--+ channels.pl |--+ channels_wanted.pl |--+ config.pl +--
vdradmin |--+ vdradmind.{at,bl,conf,done} +--
vdrrip |--+ queuehandler.conf +--
wget |--+ wgetrc
Installations-Protokoll
Einiege Dialoge sind nicht mehr ganz aktuell, ab und zu ändert sich doch mal etwas.
Datei:Installscript-1.png Mainmenu |
Startmenu. Der Punkt Select software to uninstall ---> ist obsolete, zum deinstallieren einfach Packages im Software Manager makieren, ueber Key <N> oder <M> kann gelöscht werden. Postinstallation wird ebenfalls entfernt (dselect). Für Patches gilt das selbe, --reverse ueber <N> oder <M>, man kann somit Patches die auf VDR angewendet wurden, jederzeit Rückgängig machen. |
Datei:Installscript-2.png Download Manager |
Dialog des Download Manager's. |
Datei:Installscript-3.png DL Manager Sub 1 |
Eine Ebene tiefer. |
Datei:Installscript-4.png DL Manager Sub 2 |
Hier stellt man sich letztendlich die Sourcen zusammen. <E> getestet, existiert, <*> getestet, lokal nicht gefunden, <R> recursiv (all) alles was man sieht, wird geladen. |
Datei:Installscript-6.png Mainmenu |
Startmenu => Software Manager |
Datei:Installscript-7.png Software Manager |
Auswahl der Packages. |
Datei:Installscript-8.png Software Select |
Hier erfolgt die Auswahl der Sourcen (Versionsunabhängig), man sollte in etwa wissen was zusammenpasst! |
Datei:Installscript-9.png Start up |
Eintrag für /etc/inittab
|
Datei:Installscript-10.png Channels Select |
Auswahl der channels.conf |
Datei:Installscript-11.png Software Manager |
Software Manager => Patches |
Datei:Installscript-12.png Patch Select |
Im Grunde genommen kann man alle Patches die verfügbar sind anwenden. Einfach in den entsprechenden Ordner ../packages/vdr/patches packen. (vorrausgesetzt --dry-run passt) |
Datei:Installscript-13.png Patchlog |
So sollte ein Patchlog ausschauen, ansonnsten Patch <NAME> not applied / nicht angewendet... |
Datei:Installscript-14.png Mainmenu |
Mainmenu => Plugins Manager |
Datei:Installscript-15.png Plugins Manager |
Optionen gibt es 3 <I> installieren, <U> ersetzen, <D> löschen. Manchmal muß VDR für einiege Plugins gepatcht werden, sollte im plugins.log ersichtlich sein, für --reverese eines Patches, das entsprechende Plugin deinstallieren <D>. (<U> != <D>) |
Datei:Installscript-16.png Plugins Opt |
Zeigt zusätzliche Optionen zum übersetzen der Plugins an. (siehe make.conf )
|
Datei:Installscript-17.png Mainmenu |
Mainmenu => Compiling |
Datei:Installscript-18.png Driver Select |
Auswahl der DVB Driver. |
Datei:Installscript-19.png Postinstallation |
Zeigt die auszuführende Postinstallation. |
Datei:Installscript-20.png Compile Menu |
Auswahl der Optionen. |
Hier können die Optionen zum übersetzen von VDR geändert werden. | |
Datei:Installscript-22.png Plugins Check |
Zeigt an was übersetzt worden ist. |
Datei:Installscript-23.png Mainmenu |
Mainmenu => pluginsetup |
Datei:Installscript-24.png Plugins Select |
Dialog zum aktivieren der Plugins, kann später über das admin-plugin geändert werden. (Reihenfolge/on/off) |
Datei:Installscript-25.png Installationslog |
Logfiles befinden sich Standard in /var/log/vdr. |
Module
Alles unterhalb von ../setup/add kann nachgerüstet werden, sprich kopieren nach ../setup/pree{plugins,soft}.
Letztendlich nicht zwingend (plugins), es langt wenn sich die Sourcen in ../packages/plugins befinden.
Installiert man ein Plugin, wird zur Laufzeit ein Link erstellt, sollte im log ersichtlich sein.
Beim erneuten ausführen der Scripts, werden die Links entfernt.
------------------------------------------------------------------------ - decruft-0.0.4 Fri Sep 16 16:23:14 2005 ------------------------------------------------------------------------ +++ cmd : create symbolic link `decruft' to `decruft-0.0.4' +++ arg : modul decruft.cmd not found in (./preeplugins)... +++ msg : modul decruft.cmd found in (./add)... +++ msg : create link, only at running time... +++ cmd : create symbolic link `../setup/preeplugins/decruft.cmd' to `../add/untested/decruft.cmd' +++ cmd : CallInstall ....
Andere Möglichkeit.
bash> ./vdr-install-script-<VERSION>.run -- --plgadd bash> ./setup.sh --plgadd
Sollte so ausschauen...
..... instantimer.cmd screenshot.cmd yascreenshot.cmd ipod.cmd serial.cmd zaphistory.cmd joystick.cmd serialremote.cmd -------------------------- Choice <plugin> <plugin> :
Plugin(s) eintragen, die Module werden dann von ../setup/add/untested in den entprechenden Ordner kopiert ../preeplugins.
Wie der Name schon sagt UNTESTED, das ganze sollte man sich vorher in Ruhe anschauen.
- Ein Modul setzt Kernel 2.6.* vorraus...
- Einiege sind nicht über den Beta Status hinaus gekommen... (am besten selbst testen)
- Bei anderen fehlen Links...
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 sonnst /usr/local
Dann.
bash> cd /usr/local/testumgebung/bin bash> ./runvdr start
Packetmanager
bash> cd ../setup bash> ./add-pack.sh
Dann.
bash> ./setup.sh --enable-packages
Nun kann per pacman (Arch) / prt-get (Crux) / apt-get (Debian) / emerge (Gentoo) / yast (SuSE) installiert werden, vorrausgesetzt es sind Packages verfügbar, und diese wurden in die add-pack.sh eingetragen.
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 Standart-Einstellungen geladen.
Probleme
- Slackware
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
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 |
[6] | http://vdrportal.de/board/thread.php?threadid=27246 | Diskussion im VDRportal |