deb-changelog(5)

BEZEICHNUNG
deb-src-control - Format der Quellpaket-Changelog-Datei von Debian

ÜBERSICHT
debian/changelog

BESCHREIBUNG
Änderungen in der paketierten Version eines Projekts werden in der Changelog-Datei debian/changelog erläutert. Darunter fallen Änderungen, die am Quellpaket beim Paketieren vorgenommen wurden sowie andere Änderungen und Aktualisierungen am Paket.

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 ‚(’ und U+0029 ‚)’ 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 ‚;’) 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
    Der Wert wird für das Feld Urgency in der Datei .changes für den Upload verwandt.

binary-only
    Wird mit einem Wert von yes 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:

    Closes: #nnnnn

in den Details der Änderung, wobei #nnnnn die Fehlernummer ist. Der genaue reguläre Perl-Ausdruck lautet:

    /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i

Das bedeutet, die Zeichenkette sollte aus dem Wort closes:, gefolgt von einer durch Kommata getrennten Liste von Fehlernummern bestehen. Fehlernummern kann das Wort bug und/oder das Zeichen # vorangestellt werden, wie in "Closes: 42, bug#43, #44, bug 45". Bei den Wörtern closes: und bug ist die Groß-/Kleinschreibung egal. Die Liste an Fehlernummern darf über mehrere Zeilen hinweg gehen.

Diese Information wird über das Feld Closes in der Datei .changes übermittelt. Hierbei werden, abhängig von der Archivverwaltungssoftware, alle aufgeführten Fehlernummern automatisch geschlossen werden können.

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 „date -R“):

    Wochentag, tt Monat jjjj hh:mm:ss +zzzz

Hierbei sind:

Wochentag
    Dieser ist einer aus: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

tt  Dies ist der ein- oder zweistellige Tag des Monats (01-31), wobei die führende Null optional ist, aber normalerweise nicht weggelassen wird.

Monat
    Dies ist einer aus: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.

jjjj
    ist das vierstellige Jahr (z.B. 2010).

hh  ist die zweistellige Stunde (00-23).

mm  ist die zweistellige Minute (00-59).

ss  ist die zweistellige Sekunde (00-60).

[+-]zzzz
    ist der Zeitzonenversatz zur koordinierten Weltzeit (UTC). ‚+’ gibt an, dass die Zeit voraus (d.h. östlich von UTC) ist und ‚-’, dass die Zeit zurück (d.h. westlich von UTC) ist. Die ersten zwei Ziffern geben den Unterschied in Stunden von UTC und die letzten zwei Ziffern die Anzahl von zusätzlichen Minuten zu UTC an. Die letzten zwei Ziffern müssen im Bereich 00-59 liegen.

Die erste „Titel“-Zeile muss am linken Rand anfangen. Die „Schluss“-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.

DATEIEN

debian/changelog

BEISPIELE
 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

SIEHE AUCH
deb822(5), deb-changes(5), deb-version(7), dpkg-parsechangelog(1).

ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2025 von Helge Kreutzmann <debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und 2008 von Sven Joachim <svenjoac@gmx.de> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.