Product SiteDocumentation Site

15.4. Paketbetreuer werden

15.4.1. Lernen Pakete zu erstellen

Das Erstellen eines qualitativ hochwertigen Debian-Pakets ist nicht immer einfach, und um Paketbetreuer zu werden, muss man sowohl in der Theorie als auch in der Praxis einiges lernen. Es geht nicht nur darum, Software zu erstellen und zu installieren; vielmehr entsteht der Großteil der Komplexität aus dem Verständnis für die Probleme und Konflikte, und im Weiteren für die Wechselwirkungen mit der Unzahl der anderen verfügbaren Pakete.

15.4.1.1. Regeln

Ein Debian-Paket muss den genauen Regeln des Debian-Regelwerks entsprechen, und jeder Paketbetreuer muss sie kennen. Es ist nicht erforderlich, sie auswendig zu kennen, vielmehr muss man wissen, dass sie existieren, und jedes Mal in ihnen nachsehen, wenn eine Entscheidung mehr als eine banale Alternative darstellt. Jeder Debian-Betreuer hat Fehler gemacht, weil er eine Regel nicht kannte, jedoch ist dies kein ernstes Problem, solange der Fehler behoben wird, wenn ein Benutzer einen Fehlerbericht verfasst, was dank der erfahrenen Benutzer normalerweise recht bald geschieht. http://www.debian.org/doc/debian-policy/

15.4.1.2. Verfahren

Debian ist keine einfache Ansammlung individueller Pakete. Jedermanns Paketerstellungsarbeit ist Teil eines gemeinschaftlichen Projekts; als Debian-Entwickler muss man auch wissen, wie das Debian-Projekt als Ganzes funktioniert. Jeder Entwickler wird früher oder später mit anderen zusammenwirken. Die Debian Entwickler-Referenz (im Paket developers-reference) fasst zusammen, was jeder Entwickler wissen muss, um möglichst reibungslos mit den verschiedenen Teams innerhalb des Projekts zusammenzuarbeiten, und um die größtmöglichen Vorteile aus den verfügbaren Ressourcen zu ziehen. Dieses Dokument zählt auch eine Anzahl von Pflichten auf, deren Erfüllung von einem Entwickler erwartet wird. http://www.debian.org/doc/developers-reference/

15.4.1.3. Hilfsprogramme

Zahlreiche Hilfsprogramme unterstützen Paketbetreuer bei ihrer Arbeit. Dieser Abschnitt beschreibt sie kurz, aber stellt nicht alle Einzelheiten dar, da jedes von ihnen eine eigene umfassende Dokumentation besitzt.
15.4.1.3.1. Das Programm lintian
Dieses Hilfsprogramm ist eines der wichtigsten: es ist der Debian-Paketüberprüfer. Es beruht auf einer langen Reihe von Tests, die aus dem Debian-Regelwerk erstellt worden sind, und entdeckt schnell und automatisch viele Fehler, die vor der Veröffentlichung eines Pakets behoben werden können.
Dieses Programm ist nur ein Gehilfe und versteht manchmal etwas falsch (zum Beispiel ist lintian manchmal nicht aktuell, da sich das Debian-Regelwerk im Laufe der Zeit verändert). Es ist auch nicht vollständig flächendeckend: keine Lintian-Fehlermeldung zu erhalten, sollte nicht als Nachweis verstanden werden, dass das Paket perfekt ist; bestenfalls verhindert es die häufigsten Fehler.
15.4.1.3.2. devscripts
Das Paket devscripts enthält zahlreiche Programme, die einem Debian-Entwickler bei einem weiten Spektrum seiner Arbeit helfen:
  • debuild ermöglicht es, ein Paket zu erzeugen (mit dpkg-buildpackage) und dann lintian auszuführen, um seine Übereinstimmung mit dem Debian-Regelwerk zu überprüfen.
  • debclean bereinigt ein Quellpaket, nachdem ein Binärpaket erzeugt worden ist.
  • dch ermöglicht das schnelle und einfache Editieren einer debian/changelog-Datei in einem Quellpaket.
  • uscan überprüft, ob eine neue Version eines Programms vom ursprünglichen Verfasser veröffentlicht worden ist; dies erfordert eine debian/watch-Datei mit einer Beschreibung des Ortes derartiger Veröffentlichungen.
  • debi ermöglicht es, das gerade erzeugte Debian-Paket (mit dpkg -i) zu installieren, ohne dabei seinen vollständigen Namen und Pfad eingeben zu müssen.
  • In ähnlicher Weise ermöglicht es debc, den Inhalt eines vor kurzem erzeugten Pakets (mit dpkg -c) abzufragen, ohne seinen vollständigen Namen und Pfad eingeben zu müssen.
  • bts überwacht das Fehlerverfolgungssystem von der Befehlszeile aus; dieses Programm erzeugt automatisch die passenden E-Mails.
  • debrelease lädt ein kürzlich erzeugtes Paket auf einen entfernten Server hoch, ohne den vollständigen Namen und Pfad der dazugehörigen .changes-Datei eingeben zu müssen.
  • debsign signiert die *.dsc- und *.changes-Dateien.
  • uupdate automatisiert die Erstellung einer überarbeiteten Paketversion, wenn eine neue Ursprungsversion veröffentlicht worden ist.
15.4.1.3.3. debhelper und dh-make
Debhelper ist ein Satz von Skripten, die die Erstellung regelkonformer Pakete erleichtern; diese Skripte werden von debian/rules aufgerufen. Debhelper wird in Debian in großem Umfang angewendet, wie aus der Tatsache ersichtlich ist, dass es von der Mehrheit der offiziellen Debian-Pakete benutzt wird. Alle in ihm enthaltenen Befehle führen das Präfix dh_. Debhelper wird vor allem von Joey Hess entwickelt.
Das Skript dh_make (im Paket dh-make) erstellt in einem Verzeichnis, das zu Anfang die Quellen einer Software enthält, Dateien, die für die Erzeugung eines Debian-Pakets erforderlich sind. Wie aufgrund des Programmnamens vermutet werden kann, verwenden die erzeugten Dateien standardmäßig Debhelper.
15.4.1.3.4. dupload und dput
Die Befehle dupload und dput ermöglichen es, ein Debian-Paket auf einen (möglicherweise entfernten) Server hochzuladen. Auf diese Weise können Entwickler ihr Paket auf dem Debian-Hauptserver (ftp-master.debian.org) veröffentlichen, so dass es in das Archiv integriert und über die Spiegelserver verteilt werden kann. Diese Befehle nehmen eine *.changes-Datei als Parameter und leiten die übrigen relevanten Dateien aus ihrem Inhalt ab.