MLD - Entwicklungs Hilfsmittel

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 
== Komplette Entwicklungsumgebung ==
 
== Komplette Entwicklungsumgebung ==
  
Es existiert ein VMware Image in dem eine komplette Entwicklungs Umgebung steckt. Es handelt sich um eine minimale SuSE 10.0 Installation mit sämtlichen benötigten Tools und Surcen.
+
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.
+
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 aktualisiert diese gegebenenfalls. Ausserdem werden Kernelmodul Abhängigkeiten aufgelöst und das Install Iso-Image erstellt.
+
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 emittelt werden, und 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 devel-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 typischerweise unter ~/src oder unter /usr/local/src entpackt. Paralel 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.
+
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 ==
Zeile 22: Zeile 22:
 
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.
 
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.
  
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.
+
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 Repository 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 Repositories angeben (z.B. ~/cvs). Anschliessend das CVS Repository erstellen:
+
In MLD/addons-src/Make.conf den Zielort des Repositories angeben (z.B. ~/cvs). Anschließend das CVS Repository erstellen:
  
 
make ~/cvs
 
make ~/cvs

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"