MLD - Entwicklungs Hilfsmittel

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Hilfsmittel zur Entwicklung

Um die Arbeit an der MLD zu erleichtern steht ein Makefile zur verfügung.

Das Makefile enthält Anweisungen zum Kompilieren des VDR und dessen Plugins und erstellt anschliessend die Addons sofern sich etwas geändert hat. Es sucht für alle im Addon enthaltenen Programme, die benötigten Librarys zusammen (sofern diese nicht durch abhängige Addons bereitgestellt werden) und aktualisiert diese gegebenenfalls. Ausserdem werden Kernelmodul Abhängigkeiten aufgelöst und das Install Iso-Image erstellt.

Beachte: Es kommt vor das nicht alle benötigten Libraries erkannt werden können. Dann müssen die fehlenden z.B. mit strace emittelt werden, und von Hand zum Addon hinzugefügt werden.

Entwicklungsumgebung einrichten

Das angebotene make-full Archiv enthält das Makefile, das root Filesystem der MLD und die komplette Ordnerstruktur die zur Entwicklung an der MLD benötigt wird.

Das Archiv wird typischerweise unter ~/src oder unter /usr/local/src entpackt. Paralel hierzu werden die vdr-Quellen vdr-1.3.x benötigt. Ausserdem müssen die Kernelquellen installiert sein. Der Link VDR muss so angepasst werden, dass dieser auf den Ordner vdr-1.3.x verweist.

Addons erstellen

Bevor Addons erstellt werden sollte die Konfigurationsdatei MLD/addons-src/Make.conf angepasst werden. Hier sind die Initialen des Entwicklers einzutragen, es wird festgelegt welche Addons erstellt werden sollen und welche Addons das Install Iso-Image enthalten soll.

Anschliessend reicht im Ordner MLD/addons-src ein aufruf von 'make' um das Erstellen der Addons zu starten. Die fertigen Addons werden unter MLD/addons-tgz abgelegt.

Sollen Addons erstellt werden die Kernel Module enthalten, ist es erforderlich die an die MLD angepasste Kernelversion zu erstellen. Hierfür reicht ein Aufruf von 'make kernel'. Dies kompiliert den Kernel mit den MLD Einstellungen und installiert die Module. Das Entwicklungssystem wird hiervon nicht beeinträchtigt.

CVS

CVS steht noch nicht vollständig zur verfügung. Bisher ist lediglich ein locales Repository möglich.

Die Nutzung von CVS oder anderen Versionskontrollen ist nicht ohne weiteres möglich, da die MLD-Addons symbolische Links, Devices und Pipes enthalten. Diese werden von CVS und Co. üblicherweise nicht korrekt behandelt, und führen zu Fehlern. Aus diesem Grund ist es erforderlich diese Datein besonders zu behandeln. Durch die Nutzung des Makefiles für die wichtigsten CVS Funktionen (Import, Add, Commit, Update, Remove) wird dies sichergestellt.

CVS vorbereiten:

In MLD/addons-src/Make.conf den Ziehlort des Repositories angeben (z.B. ~/cvs). Anschliessend das CVS Repository erstellen:

make ~/cvs

Addons hinzufügen:

make im modul="MyAddonName"

Addons erweitern:

make ad modul="MyAddonName"

Addons einchecken:

make ci modul="MyAddonName"

Addons aktualisieren:

make up modul="MyAddonName"

Dateien aus Addons entfernen:

make rm file="MyAddonName/PathToFile/FileName"