Das Format von debian/changelog erlaubt den Paketbauwerkzeugen, die zu bauende Version des Pakets und andere, veröffentlichungsspezifische Information, zu ermitteln.
Das Format besteht aus einer Serie von Einträgen der folgenden Art:
Paket (Version) Distributionen; Metadaten
[optionale leere Zeile(n), entfernt, stripped]
* Änderungsdetails
weitere_Änderungsdetails
[leere Zeile(n), in der Ausgabe von dpkg-parsechangelog(1) enthalten]
* noch_weitere_Änderungsdetails
[optionale leere Zeile(n), entfernt]
--- Betreuername <E-Mail-Adresse> Datum
Paket und Version sind der Quellpaketname und die Versionsnummer. Die Version wird durch runde Klammern U+00028 bq(' und U+0029 bq)' begrenzt.
Distributionen listet eine oder mehrere durch Leerzeichen getrennte Distributionen auf, in die diese Version nach dem Upload installiert werden soll. Es wird in das Feld Distribution in der .changes-Datei kopiert. Distribution muss durch ein Semikolon (U+003B bq;') abgeschlossen werden.
Metadaten listet eine oder mehrere durch Kommata getrennte Schlüssel=Wert-Objekte auf. Jeder Schlüssel darf nur Minus und alphanumerische Zeichen (Groß-/Kleinschreibung egal) enthalten, da diese auf deb822(5)-Feldnamen abgebildet werden müssen. Die einzigen von dpkg derzeit verstandenen Schlüsselwörter sind urgency und binary-only. Der Wert von urgency wird für das Feld Urgency in der Datei .changes für den Upload verwandt. binary-only mit einem Wert von yes wird verwandt, um anzuzeigen, dass dieser Changelog-Eintrag für einen rein-binären nicht-Betreuer-Upload (ein automatischer binärer Neubau, wo die einzige Änderung der Changelog-Eintrag darstellt) ist.
Die Änderungsdetails können tatsächlich eine Reihe von Zeilen, die mindestens mit zwei Leerzeichen (U+0020 LEERZEICHEN) beginnen, sein, aber üblicherweise beginnt jede Änderung mit einem Stern und einem trennenden Leerzeichen und Folgezeilen werden so eingerückt, dass sie bündig mit dem obigen Text formatiert sind. Leerzeilen können hier verwandt weden, um Gruppen von Änderungen, falls gewünscht, zu trennen.
Falls dieser Upload Fehler aus der Fehlerdatenbank behebt, können diese automatisch geschlossen werden, falls der Changlog bei der Aufnahme in das Distributionsarchiv die folgende Zeichenkette enthält:
in den Änderungsdetails auftaucht. Der genaue reguläre Perl-Ausdruck lautet /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i). Diese Information wird über das Feld Closes in der .changes-Datei vermittelt.
Der im Changelog verwandte Name des Betreuers und die E-Mail-Adresse sollten die Details der Person sein, die diese Veröffentlichung des Pakets erstellt hat. Sie stimmen nicht notwendigerweise mit denen des Hochladenden oder des normalen Paketbetreuers überein. Die Informationen werden von hier in das Feld Changed-By in der .changes-Datei kopiert und könnten dann später zum Versand der Bestätigung verwandt werden, wenn der Upload im Archiv der Distribution aufgenommen wurde.
Das Datum hat das folgende Format (kompatibel zu und mit der gleichen Semantik von RFC2822 und RFC5322 bzw. der Ausgabe von Bqdate -R"):
Hierbei sind:
Die erste BqTitel"-Zeile muss am linken Rand anfangen. Die BqSchluss"-Zeile mit den Betreuer- und Datumsdetails muss durch genau ein Leerzeichen (U+0020 LEERZEICHEN) eingeleitet werden. Die Details zum Betreuer und das Datum müssen durch genau zwei Leerzeichen (U+0020 LEERZEICHEN) getrennt sein. Jeder Teil vom Datum kann durch eines oder mehrere Leerzeichen (U+0020 SPACE) getrennt werden, außer nach dem Komma, wo es durch Null oder mehr Leerzeichen (U+0020 SPACE) abgetrennt werden kann.
Jede Zeile, die komplett (d.h. ohne vorangestellte Leerzeichen) aus Kommentaren im Stil # oder /* */ oder RCS-Schlüsselwörtern besteht, sollte ignoriert werden.
Modelines von Vim oder lokale Emacs-Variablen sowie uralte Changelog-Einträge in anderen Formaten am Ende der Datei sollten akzeptiert und in der Ausgabe erhalten werden. Ihr Inhalt darf ansonsten aber ignoriert und die Auswertung an diesem Punkt beendet werden.
Der gesamte Changelog muss in UTF-8 kodiert sein.
dpkg (1.17.18) unstable; urgency=low [ Guillem Jover ] * Handle empty minimum versions when initializing dependency versions, as the code is mapping the minimum version 0 to '' to avoid outputting useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929 [ Updated programs translations ] * Catalan (Guillem Jover). [ Updated dselect translations ] * Catalan (Guillem Jover). * German (Sven Joachim). -- Guillem Jover <guillem@debian.org> Sun, 12 Oct 2014 15:47:44 +0200