MLD - Entwicklungs Hilfsmittel

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
 
(15 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
== Komplette Entwicklungsumgebung ==
 +
 +
Es existiert ein VMware Image in dem eine komplette Entwicklungsumgebung steckt. Es handelt sich um eine minimale SuSE 10.0 Installation mit sämtlichen benötigten Tools und Sourcen.
 +
Bei Interesse bitte im MLD Forum an Detlef wenden.
 +
 
== Hilfsmittel zur Entwicklung ==
 
== Hilfsmittel zur Entwicklung ==
  
Um die Arbeit an der MLD zu erleichtern steht ein Makefile zur verfügung.  
+
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 aktualesiert diese gegebenenfalls. Ausserdem erstellt es das Install Iso-Image.
+
Das Makefile enthält Anweisungen zum Kompilieren des VDR und dessen Plugins und erstellt anschließend die Addons sofern sich etwas geändert hat. Es sucht für alle im Addon enthaltenen Programme, die benötigten Libraries zusammen (sofern diese nicht durch abhängige Addons bereitgestellt werden) und aktualisiert diese gegebenenfalls. Außerdem 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 von Hand zum Addon hinzugefügt werden.''
+
''Beachte: Es kommt vor das nicht alle benötigten Libraries erkannt werden können. Dann müssen die fehlenden z.B. mit strace ermittelt werden, und von Hand zum Addon hinzugefügt werden.''
  
 
== Entwicklungsumgebung einrichten ==
 
== 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 angebotene devel-full Archiv enthält das Makefile, das root Dateisystem der MLD und die komplette Ordnerstruktur die zur Entwicklung an der MLD benötigt wird.
  
Das Archiv wird typischer weise 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.
+
Das Archiv wird typischerweise unter ~/src oder unter /usr/local/src entpackt. Parallel hierzu werden die vdr-Quellen vdr-1.4.x benötigt (sofern VDR-Plugins erstellt werden sollen). Der Link VDR muss so angepasst werden, dass dieser auf den Ordner vdr-1.4.x verweist. Die vdr-Quellen müssen mit dem bereitgestellten VDR-diff gepatcht werden.
  
 
== Addons erstellen ==
 
== 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.
+
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 bei einem einfachen Aufruf von make 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.
+
Anschließend 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 kompeliert den Kernel mit den MLD Einstellungen und installiert die Module. Das Entwicklungssystem wird hiervon nicht beeinträchtigt.
+
Um z.B. nur die System-Addon zu erstellen genügt der Aufruf von 'make system'. Welche Weiteren Optionen das Makefiel bietet steht am Anfang des Makefiles beschrieben.
  
 
== CVS ==
 
== CVS ==
  
'''CVS steht noch nicht vollständig zur verfügung. Bisher ist lediglich ein locales Reposetory möglich.'''
+
'''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.
+
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 Dateien besonders zu behandeln. Durch die Nutzung des Makefiles für die wichtigsten CVS Funktionen (Import, Add, Commit, Update, Remove) wird dies sichergestellt.
  
 
CVS vorbereiten:
 
CVS vorbereiten:
  
in MLD/addons-src/Make.conf den Ziehlort des reposetories angeben
+
In MLD/addons-src/Make.conf den Zielort des Repositories angeben (z.B. ~/cvs). Anschließend das CVS Repository erstellen:
CVS Reposetory erstellen z.B. mit 'make ~/cvs'
+
 
 +
make ~/cvs
  
 
Addons hinzufügen:
 
Addons hinzufügen:
Zeile 44: Zeile 50:
 
make ci modul="MyAddonName"
 
make ci modul="MyAddonName"
  
Addons aktualesieren:
+
Addons aktualisieren:
  
 
make up modul="MyAddonName"
 
make up modul="MyAddonName"
  
Datein aus Addons entfernen:
+
Dateien aus Addons entfernen:
  
 
make rm file="MyAddonName/PathToFile/FileName"
 
make rm file="MyAddonName/PathToFile/FileName"

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

Inhaltsverzeichnis

[Bearbeiten] Komplette Entwicklungsumgebung

Es existiert ein VMware Image in dem eine komplette Entwicklungsumgebung steckt. Es handelt sich um eine minimale SuSE 10.0 Installation mit sämtlichen benötigten Tools und Sourcen. Bei Interesse bitte im MLD Forum an Detlef wenden.

[Bearbeiten] 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 anschließend die Addons sofern sich etwas geändert hat. Es sucht für alle im Addon enthaltenen Programme, die benötigten Libraries zusammen (sofern diese nicht durch abhängige Addons bereitgestellt werden) und aktualisiert diese gegebenenfalls. Außerdem 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 ermittelt werden, und von Hand zum Addon hinzugefügt werden.

[Bearbeiten] Entwicklungsumgebung einrichten

Das angebotene devel-full Archiv enthält das Makefile, das root Dateisystem 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. Parallel hierzu werden die vdr-Quellen vdr-1.4.x benötigt (sofern VDR-Plugins erstellt werden sollen). Der Link VDR muss so angepasst werden, dass dieser auf den Ordner vdr-1.4.x verweist. Die vdr-Quellen müssen mit dem bereitgestellten VDR-diff gepatcht werden.

[Bearbeiten] 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 bei einem einfachen Aufruf von make erstellt werden sollen und welche Addons das Install Iso-Image enthalten soll.

Anschließend 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.

Um z.B. nur die System-Addon zu erstellen genügt der Aufruf von 'make system'. Welche Weiteren Optionen das Makefiel bietet steht am Anfang des Makefiles beschrieben.

[Bearbeiten] 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 Dateien 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 Zielort des Repositories angeben (z.B. ~/cvs). Anschließend 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"