MLD - Addons erstellen

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
 
(7 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Aufbau ==
 
== Aufbau ==
  
Addons haben einen sehr einfachen Aufbau. Jede entahltene Datei ist im Addon so platziert, wie sie nach der Installation auch im root Filesystem plaziert sein soll. Enthält ein Addon z.B. das Script myScript und soll dieses im Ordner /usr/bin plaziert werden, so ist es auch im Addon unter usr/bin/myScript zu finden. Addons sind also einfach dadurch zu erstellen, das man einen Ordner mit dem namen des Addons erstellt, alles so dadrinn plaziert wie es später im root Filesystem plaziert werden soll, und anschließend diesen Ordner kompremiert.
+
Addons haben einen sehr einfachen Aufbau. Jede enthaltene Datei ist im Addon so platziert, wie sie nach der Installation auch im root Dateisystem platziert sein soll. Enthält ein Addon z.B. das Skript myScript und soll dieses im Ordner /usr/bin platziert werden, so ist es auch im Addon unter usr/bin/myScript zu finden. Addons sind also einfach dadurch zu erstellen, das man einen Ordner mit dem Namen des Addons erstellt, alles so da drin platziert wie es später im root Dateisystem platziert werden soll, und anschließend diesen Ordner komprimieren.
  
Es gibt jedoch einige kleinigkeiten zu beachten:
+
Es gibt jedoch einige Kleinigkeiten zu beachten:
* Nach dem Installieren des Addons wird das script tmp/install ausgeführt, sofern es im Addon enthalten ist.
+
* Nach dem Installieren des Addons wird das Skript '/INSTALL install' ausgeführt, sofern es im Addon enthalten ist.
** mit 'register_setting' lässt sich eine Konfigurations Variable in rc.config anlegen
+
** mit 'register_setting' lässt sich eine Konfigurations Variable in /etc/rc.config anlegen
** mit 'register_config' lässt sich eine Configurationsdatei so speichern, das diese dauerhaft editierbar ist (dies geht auch mit Ordnern)
+
** mit 'register_config' lässt sich eine im Ordner /tmp liegende Konfigurationsdatei so speichern, das diese dauerhaft editierbar ist (dies geht auch mit Ordnern)
* vor dem deinstallieren eines Addons wird das Script tmp/uninstall ausgeführt
+
*** dadurch werden die Dateien im Konfigurationsverzeichnis auf der Festplatte /etc/mld/etc abgelegt und nach /etc verlinkt
* Konfigurationsdatein die dauerhaft editierbar sein sollen müssen im Ordner tmp abgelegt und mit 'register_config' installiert werden.
+
* vor dem deinstallieren eines Addons wird das Skript '/INSTALL uninstall' ausgeführt
** dadurch werden die Datein im Konfigurationsverzeichnis auf der Festplatte abgelegt und nach /etc verlinkt
+
* Skripte die im Ordner /etc/rc.d abgelegt sind und vom Ordner etc/rc.d/boot.d verlinkt sind werden bei jedem Systemstart/Shutdown oder installieren/deinstallieren ausgeführt.
* Scripte die im Ordnet etc/rc.d abgelegt sind und vom Ordner etc/rc.d/boot.d verlinkt sind werden bei jedem Systemstart/Shutdown ausgeführt.
+
** die Skripte in /etc/rc.d haben den Namen des Addons
** die Scripte in etc/rc.d haben den Namen des Addons
+
** die Namen der Links in etc/rc.d/boot.d beginnen mit einem S wenn diese beim Systemstart, mit einem K wenn sie beim Shutdown, mit einem H wenn sie beim Wechsel in den suspendToRam modus, oder mit einem R wenn sie beim Wechsel aus den suspendToRam Modus ausgeführt werden sollen. Es folgt eine zweistellige Nummer welche die Reihenfolge regelt in der die Skripte ausgeführt werden sollen (meistens die Nummer des Addons), und der Name des Addons (Bsp.: S13addonname, K45addonname).
** die Namen der Links in etc/rc.d/boot.d beginnen mit einem S wenn diese beim Systemstart, oder mit einem K wenn sie beim Shutdown ausgeführt werden sollen. Es folgt eine zweistellige Nummer welche die Reihenfolge regelt in der die Scripte ausgeführt werden sollen, und der Name des addons (Bsp.: S13addonname, K45addonname).
+
* Abhängigkeiten von anderen Addons werden in /INSTALL eingetragen, wobei jede Zeile den Namen eines Addons enthält
* Abhängikeiten von anderen Addons werden in tmp/depend eingetragen, wobei jede Zeile den Namen eines Addons enthält
+
* jedes Addon sollte eine Dokumentation enthalten die unter usr/share/doc/ADDONNAME/ abgelegt wird.
* jedes Addon sollte eine Documentation enthalten die unter usr/share/doc abgelegt wird und dessen Name mit README beginnt und nach einem Punkt den Namen des Addons enthält (Bsp.: README.addonname).
+
  
 
== Installation ==
 
== Installation ==
  
Alle im Ordner /etc/addons liegenden Addons werden bei jedem Systemstart installiert, da das Filesystem bei jedem Systemstart neu eingerichtet wird. Eine Ausname ergibt sich wenn die FastBoot Option aktiviert ist. Nachdem alle Addons Installiert wurden, werden alle unter /etc/rc.d/boot.d liegenden Startscripte ausgeführt.
+
Alle im Ordner /etc/addons liegenden Addons werden bei jedem Systemstart installiert, da das Dateisystem bei jedem Systemstart neu eingerichtet wird. Eine Ausnahme ergibt sich wenn die FastBoot Option aktiviert ist. Nachdem alle Addons Installiert wurden, wird das Fastboot Image angelegt und anschließend werden alle unter /etc/rc.d/boot.d liegenden Startskripte ausgeführt.
  
Mit dem apm Tool (addon packet manager) können Addons von Hand De-/Installiert werden. Hierbei wird nur das un-/install script aufgerufen, nicht aber die Startscripte.
+
Mit dem apm Tool (addon packet manager) können Addons von Hand De-/Installiert werden. Hierbei wird sowohl das un-/install Skript als auch das Startskript aufgerufen.
  
 
== FastBoot ==
 
== FastBoot ==
  
Bei Aktiviertem FastBoot wird das Filesystem nur dann neu eingerichtet und die Addons installiert, wenn sich etwas an der Zusammenstellung der Addons geändert hat. Andernfalls wird mit einem Abbild des Filesystems gearbeitet das Direkt nach dem Installieren der Addons erstellt wurde.
+
Bei aktiviertem FastBoot wird das Dateisystem nur dann neu eingerichtet und die Addons installiert, wenn sich etwas an der Zusammenstellung der Addons geändert hat. Andernfalls wird mit einem Abbild des Dateisystems gearbeitet das Direkt nach dem Installieren der Addons erstellt wurde.
  
So werden dann auch nicht die im Addon enthaltenen tmp/install Scripte ausgeführt, sondern lediglich die unter /etc/rc.d/boot.d liegenden Startscripte. Aus diesem Grund muss das Laden von Treibern und das Starten von Demons im Startscript erfolgen.
+
So werden dann auch nicht die im Addon enthaltenen tmp/install Skripte ausgeführt, sondern lediglich die unter /etc/rc.d/boot.d liegenden Startskripte. Aus diesem Grund muss das Laden von Treibern und das Starten von Dämons im Startskript erfolgen.
 +
 
 +
[[Kategorie:MLD]]

Aktuelle Version vom 18. August 2013, 14:11 Uhr

[Bearbeiten] Aufbau

Addons haben einen sehr einfachen Aufbau. Jede enthaltene Datei ist im Addon so platziert, wie sie nach der Installation auch im root Dateisystem platziert sein soll. Enthält ein Addon z.B. das Skript myScript und soll dieses im Ordner /usr/bin platziert werden, so ist es auch im Addon unter usr/bin/myScript zu finden. Addons sind also einfach dadurch zu erstellen, das man einen Ordner mit dem Namen des Addons erstellt, alles so da drin platziert wie es später im root Dateisystem platziert werden soll, und anschließend diesen Ordner komprimieren.

Es gibt jedoch einige Kleinigkeiten zu beachten:

  • Nach dem Installieren des Addons wird das Skript '/INSTALL install' ausgeführt, sofern es im Addon enthalten ist.
    • mit 'register_setting' lässt sich eine Konfigurations Variable in /etc/rc.config anlegen
    • mit 'register_config' lässt sich eine im Ordner /tmp liegende Konfigurationsdatei so speichern, das diese dauerhaft editierbar ist (dies geht auch mit Ordnern)
      • dadurch werden die Dateien im Konfigurationsverzeichnis auf der Festplatte /etc/mld/etc abgelegt und nach /etc verlinkt
  • vor dem deinstallieren eines Addons wird das Skript '/INSTALL uninstall' ausgeführt
  • Skripte die im Ordner /etc/rc.d abgelegt sind und vom Ordner etc/rc.d/boot.d verlinkt sind werden bei jedem Systemstart/Shutdown oder installieren/deinstallieren ausgeführt.
    • die Skripte in /etc/rc.d haben den Namen des Addons
    • die Namen der Links in etc/rc.d/boot.d beginnen mit einem S wenn diese beim Systemstart, mit einem K wenn sie beim Shutdown, mit einem H wenn sie beim Wechsel in den suspendToRam modus, oder mit einem R wenn sie beim Wechsel aus den suspendToRam Modus ausgeführt werden sollen. Es folgt eine zweistellige Nummer welche die Reihenfolge regelt in der die Skripte ausgeführt werden sollen (meistens die Nummer des Addons), und der Name des Addons (Bsp.: S13addonname, K45addonname).
  • Abhängigkeiten von anderen Addons werden in /INSTALL eingetragen, wobei jede Zeile den Namen eines Addons enthält
  • jedes Addon sollte eine Dokumentation enthalten die unter usr/share/doc/ADDONNAME/ abgelegt wird.

[Bearbeiten] Installation

Alle im Ordner /etc/addons liegenden Addons werden bei jedem Systemstart installiert, da das Dateisystem bei jedem Systemstart neu eingerichtet wird. Eine Ausnahme ergibt sich wenn die FastBoot Option aktiviert ist. Nachdem alle Addons Installiert wurden, wird das Fastboot Image angelegt und anschließend werden alle unter /etc/rc.d/boot.d liegenden Startskripte ausgeführt.

Mit dem apm Tool (addon packet manager) können Addons von Hand De-/Installiert werden. Hierbei wird sowohl das un-/install Skript als auch das Startskript aufgerufen.

[Bearbeiten] FastBoot

Bei aktiviertem FastBoot wird das Dateisystem nur dann neu eingerichtet und die Addons installiert, wenn sich etwas an der Zusammenstellung der Addons geändert hat. Andernfalls wird mit einem Abbild des Dateisystems gearbeitet das Direkt nach dem Installieren der Addons erstellt wurde.

So werden dann auch nicht die im Addon enthaltenen tmp/install Skripte ausgeführt, sondern lediglich die unter /etc/rc.d/boot.d liegenden Startskripte. Aus diesem Grund muss das Laden von Treibern und das Starten von Dämons im Startskript erfolgen.