Plugin Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Sorry konnte man ja kaum lesen (Konqueror))
Zeile 2: Zeile 2:
  
 
==Vorbereitung==
 
==Vorbereitung==
Nachdem man sich das Plugin-Archiv aus dem Internet heruntergeladen hat wechselt man in das ''PLUGINS/src'' Verzeichnis von [[VDR]] und entpackt das Archiv
+
{| width=75%
 +
| style="background-color:#ffeaa5; border:solid 1px #ffeaa5; font-weight:bold; text-align:center;"|
 +
Hinweis
 +
|-
 +
| style="background-color:#ffffee; border:solid 1px #ffeaa5; padding:1em; font-size:100%;"|
 +
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
 
<pre>
 
<pre>
cd /home/user/vdr/VDR/PLUGINS/src
+
cd $SOURCEDIR/VDR/PLUGINS/src
tar jxvf /path/to/vdr-name-x.y.z.tar.bz2
+
 
</pre>
 
</pre>
bei einem BZIP2-Archiv (*.bz2) oder
+
Entpacken eines BZIP2-Quellarchivs (*.tar.bz2):
 
<pre>
 
<pre>
tar zxvf /path/to/vdr-name-x.y.z.tgz
+
tar jxvf /path/to/vdr-$PLUGIN_NAME-x.y.z.tar.bz2
 +
</pre>bzw.
 +
Entpacken eines GZIP-Quellarchivs (*.tgz, *.tar.gz).
 +
<pre>
 +
tar zxvf /path/to/vdr-$PLUGIN_NAME-x.y.z.{tgz,tar.gz}
 
</pre>
 
</pre>
bei einem GZIP-Archiv (*.tgz, *.tar.gz).
 
 
 
Nun noch einen symbolischen Link auf das gerade entpackte Verzeichnis anlegen. Die Versionsnummer wird dabei nicht angegeben
 
Nun noch einen symbolischen Link auf das gerade entpackte Verzeichnis anlegen. Die Versionsnummer wird dabei nicht angegeben
 
<pre>
 
<pre>
ln -s name-x.y.z name
+
ln -s $PLUGIN_NAME-x.y.z $PLUGIN_NAME
 
</pre>
 
</pre>
 
{| width=75%  
 
{| width=75%  
Zeile 28: Zeile 39:
 
Man kann sich einfach an den mit VDR mitgelieferten Plugins orientieren.
 
Man kann sich einfach an den mit VDR mitgelieferten Plugins orientieren.
 
|}
 
|}
 +
 
==Kompilieren==
 
==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).
 
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).

Version vom 28. August 2004, 14:33 Uhr

Da die Plugin Schnittstelle von Klaus Schmidinger "standardisiert" wurde, ist auch die Installation 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

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-x.y.z.tar.bz2
bzw.

Entpacken eines GZIP-Quellarchivs (*.tgz, *.tar.gz).

tar zxvf /path/to/vdr-$PLUGIN_NAME-x.y.z.{tgz,tar.gz}

Nun noch einen symbolischen Link auf das gerade entpackte Verzeichnis anlegen. Die Versionsnummer wird dabei nicht angegeben

ln -s $PLUGIN_NAME-x.y.z $PLUGIN_NAME

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 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 '--lib=<DIR>' bekannt gemacht.

Struktur

Ist als Beispiel anzusehen, falls ab und zu mal Begriffe auftauchen wie "unterhalb der channels.conf" oder "plugins verzeichnis"...

----+ /etc/vdr
    |----+ ca.conf
    |----+ channels.conf
    |----+ diseqc.conf
    |----+ keymacros.conf
    |----+ remote.conf
    |----+ sources.conf
    |----+ svdrphosts.conf
    |----+ /etc/vdr/plugins
    |    |----+ accounts.conf
    |    |----+ browser.conf
    |    |----+ imagecmds.conf
    |    |----+ imagesources.conf
    |    |----+ mp3sources.conf
    |    |----+ mplayerclusterkeys.conf
    |    |----+ mplayersources.conf
    |    |----+ prefermenu.conf
    -    -

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, muß 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's Namen ersetzt wird
und 0.0.1 durch die Versionsnummer des Plugins.