Plugin Installation

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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

Nachdem man sich das Plugin-Archiv aus dem Internet heruntergeladen hat wechselt man in das PLUGINS/src Verzeichnis von VDR und entpackt das Archiv

cd /home/user/vdr/VDR/PLUGINS/src
tar jxvf /path/to/vdr-name-x.y.z.tar.bz2

bei einem BZIP2-Archiv (*.bz2) oder

tar zxvf /path/to/vdr-name-x.y.z.tgz

bei einem GZIP-Archiv (*.tgz, *.tar.gz).

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

ln -s name-x.y.z 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

Bitte haltet Euch an die Konventionen, beim packen der Plugins, Auszug aus VDR/PLUGINS.html:

Building the distribution package

If you want to make your plugin available to other VDR users, you'll need to make a package that can be easily distributed.
The Makefile that has been created by the call to newplugin provides the target dist, which does this for you. 

Simply change into your source directory and execute make dist: 

cd VDR/PLUGINS/src/hello
make dist

After this you should find a file named like 

vdr-hello-0.0.1.tgz

in your source directory, where hello will be replaced with your actual plugin's name,
and 0.0.1 will be your plugin's current version number