Plugin Installation
(→Struktur) |
(→Struktur: A <-> Z + muggle) |
||
Zeile 88: | Zeile 88: | ||
| |----+ streamdevhosts.conf | | |----+ streamdevhosts.conf | ||
| |----+ taste.conf | | |----+ taste.conf | ||
− | |||
− | |||
| |----+ /freecell | | |----+ /freecell | ||
| | |----+ cursor.xpm | | | |----+ cursor.xpm | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| |----+ /graphlcd | | |----+ /graphlcd | ||
| | |----+ logonames.alias -> logonames.alias.1.2 (symlink) | | | |----+ logonames.alias -> logonames.alias.1.2 (symlink) | ||
Zeile 104: | Zeile 96: | ||
| | |----+ /logos | | | |----+ /logos | ||
| | |----+ /fonts | | | |----+ /fonts | ||
− | |||
− | |||
| |----+ /graphTFT | | |----+ /graphTFT | ||
| | |----+ /themes | | | |----+ /themes | ||
| | |----+ /fonts | | | |----+ /fonts | ||
| | | |----+ Vera.ttf | | | | |----+ Vera.ttf | ||
+ | | |----+ /joystick | ||
+ | | | |----+ mappings.conf | ||
+ | | |----+ /logos | ||
+ | | | |----+ 3sat.xpm | ||
+ | | |----+ /muggle | ||
+ | | | |----+ playlist_commands.conf | ||
+ | | |----+ /radio | ||
+ | | | |----+ radio.mpg -> satelit.mpeg (symlink) | ||
+ | | |----+ /solitaire | ||
+ | | | |----+ cover1.xpm | ||
+ | | |----+ /text2skin | ||
+ | | | |----+ /demo | ||
| |----+ /xine | | |----+ /xine | ||
| | |----+ noSignal-completelyBlack.pes | | | |----+ noSignal-completelyBlack.pes |
Version vom 18. November 2004, 19:12 Uhr
Die Installation der verschieden Plugins ist in den Grundzügen immer gleich. Auf Besonderheiten wird auf den jeweiligen Plugin-Seiten eingegangen. Letzte Instanz ist aber immer das README-file des Plugins.
Inhaltsverzeichnis |
Vorbereitung
Die Variable $SOURCEDIR enthält den Pfad zum Verzeichnis, in dem sich die VDR-Quellen befinden. Übliche Verzeichnisse sind /usr/local/src, /usr/src und das home-Verzeichnis des jeweiligen Nutzers.
Die Variable $PLUGIN_NAME steht für den Namen des zu installierenden Plugins.
Nachdem man sich das Plugin-Quellarchiv aus dem Internet heruntergeladen hat wechselt man in das PLUGINS/src Verzeichnis von VDR und entpackt das Archiv
cd $SOURCEDIR/VDR/PLUGINS/src
Entpacken eines BZIP2-Quellarchivs (*.tar.bz2):
tar jxvf /path/to/vdr-$PLUGIN_NAME-<VERSION>.tar.bz2bzw.
Entpacken eines GZIP-Quellarchivs (*.tgz, *.tar.gz).
tar zxvf /path/to/vdr-$PLUGIN_NAME-<VERSION>.{tgz,tar.gz}
Nun noch einen symbolischen Link auf das gerade entpackte Verzeichnis anlegen. Die Versionsnummer wird dabei nicht angegeben
ln -s $PLUGIN_NAME-<VERSION> $PLUGIN_NAME
Die Beschreibung hier geht davon aus, dass sich die Plugin Autoren an das vorgegebene Namensschema halten. Leider ist dies nicht immer der Fall.
Damit VDR das Plugin kompiliert darf das Verzeichnis der Plugins, oder der Link dorthin nur den Name enthalten, kein "vdr-...", "plugin-..." oder gar die Versionsnummer dabei (Achtung: 'vdrcd' ist richtig, 'vdr-cd' nicht).
Man kann sich einfach an den mit VDR mitgelieferten Plugins orientieren.
Kompilieren
Die Plugins liegen nach dem Auspacken als Quelltext auf der Festplatte. Für die Verwendung im VDR müssen die Quelldaten jedoch kompiliert werden (überführen in einen maschinell lesbaren Binärcode siehe http://de.wikipedia.org/wiki/Compiler).
Zum Compiler-Aufruf in das zwei Ebenen höher liegende VDR-Verzeichnis wechseln und den Kompiliervorgang über das make-Programm des VDR aufrufen
cd ../.. make plugins
Installation
Nachdem der Compiler-Lauf fehlerfrei durchgelaufen ist, müssen die entstandenen Bibliotheken ins Zielverzeichnis kopiert werden
cp PLUGINS/lib/* /usr/lib/vdr
Dieses Verzeichnis kann natürlich je nach System variieren. Später beim Aufruf von VDR wird diesem das Verzeichnis mittels:
-L /usr/lib/vdr // oder '--lib='/usr/lib/vdr'
bekannt gemacht.
Struktur
Ist als Beispiel anzusehen, falls ab und zu mal Begriffe auftauchen wie unterhalb der channels.conf oder plugins verzeichnis...
Standard wäre es /video, nicht /etc/vdr.
----+ /etc/vdr |----+ ca.conf |----+ channels.conf |----+ diseqc.conf |----+ keymacros.conf |----+ remote.conf |----+ sources.conf |----+ commands.conf |----+ reccmds.conf |----+ remote.conf |----+ /plugins | |----+ accounts.conf | |----+ browser.conf | |----+ digicamdestinations.conf | |----+ digicamsources.conf | |----+ epgsearchcmds.conf | |----+ httpradio.conf | |----+ imagecmds.conf | |----+ imagesources.conf | |----+ mediamvp.conf | |----+ mvprss.conf | |----+ mp3sources.conf | |----+ mplayerclusterkeys.conf | |----+ mplayersources.conf | |----+ picturesources.conf | |----+ prefermenu.conf | |----+ streamdevhosts.conf | |----+ taste.conf | |----+ /freecell | | |----+ cursor.xpm | |----+ /graphlcd | | |----+ logonames.alias -> logonames.alias.1.2 (symlink) | | |----+ logonames.alias.1.2 | | |----+ logonames.alias.1.3 | | |----+ /logos | | |----+ /fonts | |----+ /graphTFT | | |----+ /themes | | |----+ /fonts | | | |----+ Vera.ttf | |----+ /joystick | | |----+ mappings.conf | |----+ /logos | | |----+ 3sat.xpm | |----+ /muggle | | |----+ playlist_commands.conf | |----+ /radio | | |----+ radio.mpg -> satelit.mpeg (symlink) | |----+ /solitaire | | |----+ cover1.xpm | |----+ /text2skin | | |----+ /demo | |----+ /xine | | |----+ noSignal-completelyBlack.pes | | |----+ noSignal.pes - - -
Ruft man VDR ohne die entsprechende Option auf (siehe:VDR Optionen), würde VDR das Standardverzeichnis nutzen.
Um VDR das neue Verzeichnis bekannt zu machen, sollte es so kommen:
-c /etc/vdr // oder --config='/etc/vdr'
Für Entwickler
Sinngemäß entsprechend ../VDR/PLUGINS.html:
Erstellen eines Plugin-Pakets Wenn man als Entwickler sein Plugin anderen VDR-Nutzern verfügbar machen möchte, muss man ein Quellcode-Paket erstellen. Das Makefile welches beim Aufruf von newplugin erstellt wurde verfügt über das make Ziel ''dist'', welches diese Funktion übernimmt. In das Plugin Verzeichnis wechseln und make dist ausführen, hier am Beispiel von hello: cd VDR/PLUGINS/src/hello make dist Anschließend sollte ein neu erstelltes Quellcode-Tarball vdr-hello-0.0.1.tgz im Quellcodeverzeichnis erstellt worden sein, wobei hello durch den aktuellen Plugin-Namen ersetzt wird und 0.0.1 durch die Versionsnummer des Plugins.