Installscript

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Beispiele)
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.
  
==Bilder==
 
 
[[Bild:Main_1.png|thumb|none|''lxdialog'']]
 
[[Bild:Main_1.png|thumb|none|''lxdialog'']]
  

Version vom 22. Oktober 2005, 20:11 Uhr

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/VDRtmp
bash> cd /tmp/VDRtmp/setup

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

--+ Folder.png setup
    +-- Folder.png config
        |--+ setup.conf
        |--+ bigpatch.conf
        |--+ commands.conf
        |--+ reccmds.conf
        |--+ make.conf
        |--+ modules.conf
        |--+ sources.conf
        |--+ configure.conf
        |--+ marks2pts.conf
        |--+ keymacros.conf
        |--+ timercmds.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)

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

--+ Folder.png $PREFIX
    +-- Folder.png src
        +-- Folder.png VDR
        +-- Folder.png DVB
    +-- 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 mldonkey
         +-- Folder.png tvmovie2vdr
             +-- Folder.png epgimages
             +-- Folder.png downloadfiles
             +-- Folder.png downloadupdatefiles
    +-- Folder.png etc
        +-- Folder.png vdr
            +-- Folder.png command-cmds
                |--+ SHAREMARKS-reccmds-<NUM>.conf
                |--+ TVMOVIE2VDR-commands-<NUM>.conf
        +-- Folder.png graphlcd
            |--+ graphlcd.conf
        +-- Folder.png lcdproc
            |--+ LCDd.conf
        +-- Folder.png lirc
            |--+ lircd.conf
            |--+ lircrc
        +-- Folder.png mplayer
            |--+ codecs.conf
            |--+ lircrc.conf
            |--+ mplayer.sh.conf
        +-- Folder.png nvram-wakeup
            |--+ nvram-wakeup.conf
        +-- Folder.png sharemarks
            |--+ marks2pts.conf
        +-- Folder.png tvmovie2vdr
            |--+ channels.pl
            |--+ channels_wanted.pl
            |--+ config.pl
        +-- Folder.png vdradmin
            |--+ vdradmind.at
            |--+ vdradmind.bl
            |--+ vdradmind.conf
            |--+ vdradmind.done
        +-- Folder.png vdrrip
            |--+ queuehandler.conf
        +-- Folder.png wget
            |--+ wgetrc

Installations-Protokoll

Einiege Dialoge sind nicht mehr ganz aktuell, ab und zu ändert sich doch mal etwas.

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.
Status der Download's.
Startmenu => Software Manager
Datei:Installscript-7.png
Software Manager
Auswahl der Packages.
Hier erfolgt die Auswahl der Sourcen (Versionsunabhängig), man sollte in etwa wissen was zusammenpasst!
Eintrag für /etc/inittab
Auswahl der channels.conf
Software Manager => Patches
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)
So sollte ein Patchlog ausschauen, ansonnsten Patch <NAME> not applied / nicht angewendet...
Mainmenu => 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>)
Zeigt zusätzliche Optionen zum übersetzen der Plugins an. (siehe make.conf)
Mainmenu => Compiling
Auswahl der DVB Driver.
Zeigt die auszuführende Postinstallation.
Auswahl der Optionen.
Hier können die Optionen zum übersetzen von VDR geändert werden.
Zeigt an was übersetzt worden ist.
Mainmenu => pluginsetup
Dialog zum aktivieren der Plugins, kann später über das admin-plugin geändert werden. (Reihenfolge/on/off)
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

Packages statt Sourcen

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)

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