Plugin Installation

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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

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
bzw.

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 (folgende Plugins sind bekannt)

  • alcd
  • bitstreamout (enthält einen Symlink?)
  • csf
  • dvdconvert
  • sleeptimer
  • statusleds
  • sysinfo

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
    |    |----+ epgsearchcmds.conf
    |    |----+ imagecmds.conf
    |    |----+ imagesources.conf
    |    |----+ mp3sources.conf
    |    |----+ mplayerclusterkeys.conf
    |    |----+ mplayersources.conf
    |    |----+ prefermenu.conf
    |    |----+ streamdevhosts.conf
    |    |----+ /logos
    |    |    |----+ 3sat.xpm
    |    |----+ /freecell
    |    |    |----+ cursor.xpm
    |    |----+ /solitaire
    |    |    |----+ cover1.xpm
    |    |----+ /text2skin
    |    |    |----+ /demo
    |    |----+ /graphlcd
    |    |    |----+ logonames.alias -> logonames.alias.1.2
    |    |    |----+ logonames.alias.1.2
    |    |    |----+ logonames.alias.1.3
    |    |    |----+ /logos
    |    |    |----+ /pics
    |    |    |----+ /splash
    |    |----+ /graphTFT
    |    |    |----+ /themes
    |    |    |    |----+ /standard
    |    |    |    |
    -    -    -    -

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.