Module Writing (German)
Contents |
Lunar Module schreiben kann extrem komplex oder sehr einfach sein und entspricht den Schritten, die nötig sind um ein Paket manuell zu installieren. Allerdings gibt es so viele Variablen, die man berücksichtigen muss, wenn man Module schreibt, dass es schwer ist alles richtig zu machen, wenn man noch keine Erfahrung mit dem Schreiben von Modulen besitzt.
Bevor du anfängst
Nimm dir kurz Zeit und denke darüber nach warum du ein neues Modul schreiben möchtest. Es gibt einige Dinge zu berücksichtigen, die dich wieder von dem Gedanken ein Modul zu schreiben abbringen können. Hier ein kurzer Leitfaden...
- Prüfe ob es bereits dein Paket in Lunars Moonbase gibt. Nichts ist schlimmer als die selbe Arbeit zweimal zu machen.
- Prüfe die Lizenz. Einige Lizenzen sind nicht mit Lunar kompatibel und dein frisch geschriebenes Modul könnte es wegen diesem Lizenzproblem niemals in die Moonbase schaffen. (In diesem Fall könntest du das Modul allerdings auf der Webseite für Nicht-freien Module einreichen.)
- Prüfe die Abhängigkeiten, die für das Modul nötig sind. Siehe ebenfalls ob jene die Anforderungen erfüllen. Manchmal kostet es so viel Zeit ein Modul zu schreiben, dass es sich einfach nicht lohnt.
- Prüfe ob du nicht besser dran bist einfach etwas manuell zu installieren oder auf vorkompiliertes zurück zu greifen. Einige Programme kann man zum Beispiel einfach im Heimverzeichnis installieren und selbst wenn ein Modul schön wäre, ist es einfach leichter es so zu installieren.
Der Angang eines Moduls
Fine einen guten Platz in der Moonbase. Du solltest immer nur unter zlocal arbeiten. Die Moonbase auf deinem System findest du unter "/var/lib/lunar/moonbase".
cd /var/lib/lunar/moonbase/zlocal mkdir mymodule cd mymodule
Jedes Modul definiert sich aus einer Gruppe von Dateien und Verzeichnissen, einschließlich der Datei DETAILS, in einem eigenen Verzeichnis. So muss die DETAILS Datei mindestens aussehen:
MODULE=mymodule VERSION=1.0 SOURCE=$MODULE-$VERSION.tar.bz2 SOURCE_URL=http://my.site.org/files/ SOURCE_VFY=sha1:e96df66f703c5ab1a295e216b5035ee14d6202b2 WEB_SITE=http://my.site.org/ ENTERED=20050808 UPDATED=20050808 SHORT="Makes module writing easy"
cat<<EOF MyModule is a simple tool to explain module writing in detail. It doesn't actually exist but is used as an example for educational purposes. EOF
Das ist eine gute Basis für die DETAILS Datei mit allen benötigten Komponenten. Wie man sehen kann, handelt es sich nur um einfachen Shellcode.
Alle Lunar Moduldateien sind Bashcode. Das bedeutet, dass du shellspezifischen Zeichen und korrekter Syntax spezielle Aufmerksamkeit widmen musst
Diese DETAILS Datei kann bereits alles sein, was du für das Schreiben eines Moduls benötigst. Das hängt von der Art und Weise ab, wie "mymodule" kompiliert werden muss.
Modulformat
Siehe Modulgrundlagen und Modulrichtlinien für detaillierte Informationen über verfügbare Modulskripte und Modulbeispiele.