[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ weiter ]


Anleitung für zukünftige Debian-Betreuer
Kapitel 6 - "Bau" des Pakets


Nun sollten Sie soweit sein, das Paket zu "bauen".


6.1 Kompletter Neubau

Wechseln Sie nun in das Verzeichnis des Programms und führen Sie das folgende Kommando aus:

     dpkg-buildpackage -rfakeroot

Das wird alles für Sie erledigen. In Einzelnen:

Sie müssen nur zweimal Ihr Passwort für den GPG-Schlüssel eingeben.

Nachdem das erledigt ist, werden Sie folgende Dateien im darüberliegenden Verzeichnis (~/gentoo/) vorfinden:

Die langen Zahlenreihen in den Dateien `*.dsc' und `.changes' sind MD5-Prüfsummen dieser Dateien. Jemand, der Ihr Paket herunterlädt, kann die enthaltenen Dateien mit md5sum(1) testen und wenn die Zahlen nicht übereinstimmen, weiß er, die geprüfte Datei ist beschädigt oder manipuliert.


6.2 Autobuilder

Debian supports many ports with the autobuilder network running buildd daemons on many different architecture computers. Although you do not need to do this by yourself, you should be aware of what will happen on your packages. Let's look into roughly how your packages are rebuild for many different architectures by them. [33]

For "Architecture: any" packages, the autobuilder system rebuild them. It ensures to install

Then it issues the following command in the source directory:

     $ dpkg-buildpackage -B

This will do everything to make architecture dependent binary packages on another architecture. It will:

This is why you see your package for other architectures.

Although packages listed in the Build-Depends-indep field are required to be installed for the normal packaging by us (see Kompletter Neubau, Abschnitt 6.1), they are not required to be installed for the autobuilder system since it build only architecture dependent binary packages. [34] This difference between normal packaging and autobuilder situation dictates whether you record such required packages in the Build-Depends or Build-Depends-indep fields of the debian/control file (see Die Datei control, Abschnitt 4.1).


6.3 Schneller Neubau

Bei einem großen Paket wollen Sie bestimmt nicht alles nach jeder kleiner Änderung in debian/rules neu kompilieren. Für Testzwecke können Sie ein .deb erstellen, ohne alle Schritte durchzumachen, z.B. so:

     fakeroot debian/rules binary

Wenn Sie mit Ihren Anpassungen fertig sind, vergessen Sie nicht, nach der kompletten Prozedur das Paket endgültig zu bauen. Sie werden Pakete, die auf diese Weise gebaut sind, nicht korrekt hochladen können.


6.4 Das Kommando debuild

Sie können das Paketbauen in Zukunft mit dem Kommando debuild automatisieren. (siehe debuild(1))

Das Kommando debuild kann in den Dateien /etc/devscripts.conf oder ~/.devscripts benutzerbezogen angepasst werden. Die folgenden Einträge sind mindestens empfohlen:

     DEBSIGN_KEYID="Ihre_GPG_Schlüssel_ID"
     DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"

Damit werden Ihre gebauten Pakete immer mit Ihrem GPG-Schlüssel signiert und es werden unerwünschte Dateien und Verzeichnisse im Paket verhindert. (Das ist auch für Sponsoren geeignet.) Beispielsweise ist das Säubern des Quellverzeichnisses und Neubauen des Pakets als Benutzer so einfach, wie:

     debuild clean
     debuild

6.5 Das dpatch-System

Die einfach zu nutzenden Kommandos dh_make und dpkg-buildpackage erstellen eine große Datei *.diff.gz, die alle Dateien für die Paketbetreuung in debian/ und Patch-Dateien für den Quellcode enthält. So ein Paket ist sehr mühselig zu kontrollieren und jede Änderung des Quellcodes ist später schwer zu verstehen. Das ist nicht so schön. [35]

Verschiedene Möglichkeiten der Betreuung von Patch-Sets wurden vorgeschlagen und werden in Debian verwendet. Das dpatch-System ist eines der einfachsten. Andere sind dbs, cdbs, etc.

Ein Paket, das ordentlich mit dem dpatch-System erstellt wurde, enthält die Änderungen des Quellcodes klar dokumentiert als Patch-Set-Dateien in debian/patches/ und der Quellcode außerhalb des Verzeichnisses debian/ bleibt unberührt. Wenn Sie Ihren Sponsor bitten, Ihr Paket hochzuladen, ist diese klare Trennung und Dokumentation Ihrer Änderungen für die zügige Überprüfung des Pakets durch Ihren Sponsor sehr wichtig. Der Umgang mit dpatch wird in dpatch(1) erklärt.

Wenn Ihnen jemand (einschließlich Ihnen selbst) später einen Patch für den Quellcode zur Verfügung stellt, ist die Anpassung des Pakets mit dpatch recht einfach:

dpatch bietet auch die Möglichkeit, Patches durch das CPP-Macro architekturabhängig zu machen.


6.6 Einbeziehen von *.orig.tar.gz beim Hochladen

Wenn Sie das Paket zum ersten Mal in das Archiv hochladen, müssen Sie die Original-Quellen *.orig.tar.gz einbeziehen. Wenn die Paketversion nicht eine -0 oder -1 als Debian-Revisionsnummer hat, müssen Sie dem Kommando dpkg-buildpackage die Option "-sa" mitgeben. Dem gegenüber erzwingt die Option "-sd" den Ausschluss der Original-Quellen *.orig.tar.gz.


[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ weiter ]


Anleitung für zukünftige Debian-Betreuer

Diese Übersetzung wird derzeit aktualisiert. Teile beruhen auf Version 1.2.3 vom 18. Januar 2005, die aktuelle Version ist 1.2.25, 2010-12-22 12:44:34 UTC

Josip Rodin joy-mg@debian.org

Übersetzung von Tobias Quathamer toddy@debian.org
Erik Schanze mail@erikschanze.de
und Eduard Bloch blade@debian.org