Plugin Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links)
Zeile 52: Zeile 52:
  
 
==Installation==
 
==Installation==
Nachdem der Compiler-Lauf fehlerfrei durchgelaufen ist, können die entstandenen [[Library|Bibliotheken]] ins Zielverzeichnis kopiert werden, es ist jedoch nicht zwingend!
+
Nachdem der Compiler-Lauf fehlerfrei durchgelaufen ist, können die entstandenen und benötigten [[Library|Bibliotheken]] ins Zielverzeichnis kopiert werden, es ist jedoch nicht zwingend!
  
 
<pre>
 
<pre>
mkdir -p /usr/lib/vdr
+
mkdir -p /usr/lib/vdr/plugins
cp PLUGINS/lib/* /usr/lib/vdr
+
cp PLUGINS/lib/* /usr/lib/vdr/plugins/
 
</pre>
 
</pre>
  
Zeile 72: Zeile 72:
  
 
bekannt gemacht.
 
bekannt gemacht.
 +
 +
Ein weiterer Weg, die Plugins beim Start des VDR mit zu starten ist, man trägt den Namen in die vdr.plugins ein.
 +
Am Beispiel des surfer-plugins würde das bedeuten:
 +
<pre>
 +
echo surfer >> /etc/conf.d/vdr.plugins
 +
</pre>
  
 
==alte Plugins unter vdr 1.4==
 
==alte Plugins unter vdr 1.4==

Version vom 17. Februar 2007, 12:35 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.

Hinweis
Hinweis

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

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 mit einem Compiler kompiliert werden, dabei wird der Quelltext in einen maschinell lesbaren Binärcode überführt.

Für den Aufruf des Compiler in das zwei Ebenen höher liegende VDR-Verzeichnis wechseln und den Kompiliervorgang über das make-Programm des VDR starten. Dieser Vorgang übersetzt den Quellcode aller Plugins.

cd ../..
make plugins

Installation

Nachdem der Compiler-Lauf fehlerfrei durchgelaufen ist, können die entstandenen und benötigten Bibliotheken ins Zielverzeichnis kopiert werden, es ist jedoch nicht zwingend!

mkdir -p /usr/lib/vdr/plugins
cp PLUGINS/lib/* /usr/lib/vdr/plugins/

Dieses Verzeichnis kann natürlich je nach System variieren. Später beim Aufruf von VDR wird diesem das Verzeichnis mittels.

vdr -L /usr/lib/vdr

oder

vdr --lib='/usr/lib/vdr'

bekannt gemacht.

Ein weiterer Weg, die Plugins beim Start des VDR mit zu starten ist, man trägt den Namen in die vdr.plugins ein. Am Beispiel des surfer-plugins würde das bedeuten:

echo surfer >> /etc/conf.d/vdr.plugins

alte Plugins unter vdr 1.4

Die API-Versionen werden von der vdr-Version getrennt, so daß nicht jedesmal (zwischen verschiedenen vdr-Versionen) alle Plugins neu kompiliert werden müssen, solange sich keine API-Definition ändert.

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.

find $SOURCEDIR/VDR/PLUGINS -name Makefile -exec sed -i -e 's:VDRVERSION:APIVERSION:g' {} \;

Links

  1. Auflistung der Plugins
  2. Hinweise für Plugin Entwickler
In anderen Sprachen