Plugin Installation
(→Kompilieren) |
(→Kompilieren) |
||
Zeile 40: | Zeile 40: | ||
==Kompilieren== | ==Kompilieren== | ||
− | Die [[Plugins]] liegen nach dem Auspacken als [[Quelltext]] auf der Festplatte. Für die Verwendung im VDR müssen die Quelltexte jedoch mit einem [[Compiler]] in einen maschinell lesbaren Binärcode übersetzt werden. Für den Aufruf des Compilers muss man in das zwei Ebenen höher liegende VDR-Verzeichnis wechseln und den Kompiliervorgang mit dem Befehl "make" starten. Dieser Vorgang übersetzt den Quelltext aller Plugins. | + | Die [[Plugins]] liegen nach dem Auspacken als [[Quelltext]] auf der Festplatte. Für die Verwendung im VDR müssen die Quelltexte jedoch mit einem [[Compiler]] in einen maschinell lesbaren Binärcode übersetzt werden. Für den Aufruf des Compilers muss man in das zwei Ebenen höher liegende VDR-Verzeichnis wechseln und den Kompiliervorgang mit dem Befehl "make plugins" starten. Dieser Vorgang übersetzt den Quelltext aller Plugins. |
<pre> | <pre> | ||
cd ../.. | cd ../.. |
Version vom 15. Februar 2008, 08:57 Uhr
Inhaltsverzeichnis |
Vorbereitung
Die Installation der verschiedenen 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.
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.bz2
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 der Link in VDR/PLUGINS/src nur den Namen enthalten, aber keine Bindestriche, Zahlen. 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 Quelltexte jedoch mit einem Compiler in einen maschinell lesbaren Binärcode übersetzt werden. Für den Aufruf des Compilers muss man in das zwei Ebenen höher liegende VDR-Verzeichnis wechseln und den Kompiliervorgang mit dem Befehl "make plugins" starten. Dieser Vorgang übersetzt den Quelltext aller Plugins.
cd ../.. make plugins
Installation
Nachdem der Compiler-Lauf fehlerfrei durchgelaufen ist, können die entstandenen Bibliotheken ins Zielverzeichnis kopiert werden.
mkdir -p /usr/lib/vdr/plugins cp PLUGINS/lib/* /usr/lib/vdr/plugins/
Dieses Verzeichnis kann je nach System variieren. Beim Start des VDR wird das Verzeichnis mit
vdr -L /usr/lib/vdr
oder
vdr --lib='/usr/lib/vdr'
als Parameter übergeben.
Alte Plugins unter VDR 1.4
Die API-Version wird von der VDR-Version getrennt. Deshalb müssen nicht jedes mal alle Plugins neu kompiliert werden, wenn sich nur die VDR-Version ändert, die API-Definition jedoch gleich bleibt.
Ville Skyttä hat dazu folgenden Lösungsvorschlag in der ML gepostet:
"Plugins that have not been changed to use APIVERSION yet upstream can be usually locally updated with something as simple as:"
sed -i -e s/VDRVERSION/APIVERSION/g Makefile
Dieser Befehl muss für jedes verwendete Plugin im zugehörigen Verzeichnis des Quelltextes ausgeführt werden. Oder man führt folgenden Befehl aus:
find $SOURCEDIR/VDR/PLUGINS -name Makefile -exec sed -i -e 's:VDRVERSION:APIVERSION:g' {} \;