User Tools

Site Tools


mld:entwicklung:mld3_bauen_eines_addons

Bauen eines Addons für MLD 3

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 (per mksquashfs) komprimiert.

Es gibt jedoch einige Kleinigkeiten zu beachten:

  • Nach dem Installieren des Addons wird das Skript '/var/spool/apm/ADDONNAME install' ausgeführt.
    • mit 'register_setting' lässt sich eine Konfigurationsvariable in /etc/rc.config anlegen bzw.
    • mit 'update_setting' verändern (beide Funktionen sind in /etc/init.d/rc.functions implementiert und erwarten als Parameter den Namen, den Wert und eine Beschreibung).
  • vor dem deinstallieren eines Addons wird das Skript '/var/spool/amp/ADDONNAME uninstall' ausgeführt
  • Skripte die im Ordner /etc/init.d abgelegt sind werden bei jedem Systemstart/Shutdown ausgeführt.
    • die Skripte in /etc/init.d haben den Namen des Addons
    • die Skripte werden parallel ausgeführt, sofern im Skript keine Abhängigkeit von init Skripten anderen Addon eingetragen ist
  • Abhängigkeiten von anderen Addons werden in /var/spool/apm/ADDONNAME eingetragen
  • jedes Addon sollte eine Dokumentation enthalten die unter /usr/share/doc/ADDONNAME/ abgelegt wird.

Systemstart

Alle im Ordner /etc/addons liegenden und in der Datei /etc/addons/active eingetragene Addons werden bei jedem Systemstart geladen (per aufs übereinander gestapelt gemountet). Als oberste Schicht wird der Ordner “mld” der Festplatte geladen. Schreibzugriffe werden nur auf der Festplatte durchgeführt. Anschließend werden alle unter /etc/init.d liegenden Skripte ausgeführt.

Installation

Mit dem apm Tool (addon packet manager) können Addons von Hand De-/Installiert werden. Hierbei wird das Un-/Install Skript aufgerufen.

Entwicklung

Addons werden typischerweise auf einem aktuellen Ubuntu System erstellt. Hierfür wird eine MLD Entwicklungsumgebung wie unter Entwickeln für die MLD beschrieben eingerichtet. Jeder Ordner entspricht hier einem Addon und enthält minimal diese Dateien/Ordner:

  • template - Dieser Ordner enthält die Ordnerstruktur und Dateien aus dem das Addon erstellt werden soll
  • INSTALL - In dieser Datei ist hinterlegt welche Skripte beim De-Installieren ausgeführt werden sollen. Im fertigen Addon ist sie unter /var/spool/apm/ADDONNAME zu finden
  • Makefile - Beschreibt was beim Erstellen des Addons alles getan werden soll. Die Makefiles der meisten Addons enthalten nur wenige Zeilen, da die Hauptarbeit von übergeordneten Makefiles durchgeführt wird.
  • src - (Optional) In diesem Ordner werden die Sourcen abgelegt die zum Bau des Addons benötigt werden.

Ein Aufruf von 'make' im Ordner des Addons baut dieses und erstellt hierbei den Ordner 'addon' welcher das gesamte Addon enthält und die Datei 'addon.sfs' die ein Link auf das komprimierte Addon Archiv ist. Beim Bauen des Addons werden alle benötigten (und nicht in abhängigen Addons enthaltenen) Bibliotheken zusammengesucht und zum Addon hinzugefügt. Als Vorlage für das Makefile, das INSTALL Skript und das init Skript verwendet man am besten Dateien aus anderen ähnlichen Addons.

mld/entwicklung/mld3_bauen_eines_addons.txt · Last modified: 2013/08/27 06:25 (external edit)