deb-version(5) Versionsnummer-Format von Debian-Paketen

ÜBERSICHT

[ Epoche:]Upstream-Version[-Debian-Revision]

BESCHREIBUNG

Die für Debian Binär- und Quellpakete verwendete Versionsnummer besteht aus drei Komponenten. Diese sind:
Epoche
Dies ist eine einzelne (typischerweise kleine) vorzeichenlose ganze Zahl. Sie darf entfallen, wobei dann Null angenommen wird. Falls sie entfällt, darf die Upstream-Version keine Doppelpunkte enthalten.
Sie existiert, um Fehler in den Versionsnummern älterer Versionen des Pakets zu erlauben und auch, um das bisherige Nummerierungsschema eines Paketes aufzugeben.
Upstream-Version
Dies ist der Hauptteil der Versionsnummer. Normalerweise ist dies die Versionsnummer des Originalpakets ("Upstream"), aus dem die .deb-Datei erstellt wurde, falls dies zutrifft. Normalerweise wird diese im gleichen Format vorliegen, wie sie von den Originalautoren angegeben wurde; allerdings kann es notwendig sein, sie umzuformatieren, damit sie in das Format des Paketverwaltungssystems und des Vergleichsschemas passt.
Das Vergleichsverhalten des Paketverwaltungssystems in Hinblick auf die Upstream-Version wird unten beschrieben. Der Upstream-Version-Anteil der Versionnummer muss angegeben werden.
Upstream-Version darf nur alphanumerische Zeichen ("A-Za-z0-9") und . + - : ~ (Satzpunkt, Plus, Bindestrich, Doppelpunkt, Tilde) enthalten und sollte mit einer Zahl beginnen. Falls es keine Debian-Revision gibt, sind Bindestriche nicht erlaubt; falls es keine Epoche gibt, sind Doppelpunkte nicht erlaubt.
Debian-Revision
Dieser Teil der Versionsnummer spezifiziert die Version des Debian-Paketes, basierend auf der Version der Originalautoren. Er kann nur alphanumerische Zeichen und + . ~ (Plus, Satzpunkt, Tilde) enthalten und wird genauso wie die Upstream-Version verglichen.
Dieser Teil ist optional; falls er nicht vorhanden ist, darf Upstream-Version keinen Bindestrich enthalten. Dieses Format ist für den Fall, dass ein Stück Software speziell dafür geschrieben wurde, ein Debian-Paket zu werden und es daher nur eine "Debianisierung" gibt und somit keine Revisionsanzeige notwendig ist.
Es ist üblich, die Debian-Revision jedesmal bei '1' neu zu starten, wenn die Upstream-Version erhöht wird.
Dpkg wird die Versionsnummer beim letzten Bindestrich in der Zeichenkette auftrennen (falls dieser existiert) um die Upstream-Version und die Debian-Revision zu bestimmen. Im Vergleich befindet sich eine fehlende Debian-Revision vor einer vorhandenen (beachten Sie aber, dass es sich bei der Debian-Revision um den Teil der Versionsnummer mit der geringsten Signifikanz handelt).

Sortieralgorithmus

Die Upstream-Version- und Debian-Revision-Teile werden von der Paketverwaltung nach dem gleichen Algorithmus verglichen:

Die Zeichenketten werden von links nach rechts verglichen.

Zuerst wird der Anfangsteil jeder Zeichenkette bestimmt, der komplett aus nicht-Ziffern-Zeichen besteht. Diese zwei Teile (von denen einer leer sein kann) werden lexikalisch verglichen. Wird ein Unterschied gefunden, wird dieser zurückgeliefert. Der lexikalische Vergleich ist ein veränderter Vergleich von ASCII-Werten, bei denen Buchstaben vor allen nicht-Buchstaben sortiert werden und die Tilde vor allem sortiert wird, sogar vor dem Ende eines Teiles. So sind zum Beispiel die folgenden Teile in sortierter Reihenfolge: '~~', '~~a', '~', der leere Teil, 'a'.

Dann wird der Anfangsteil des Restes jeder Zeichenkette bestimmt, der komplett aus Ziffern besteht. Der numerische Wert dieser zwei Teile wird verglichen, und jeder gefundene Unterschied wird als Ergebnis des Vergleichs zurückgeliefert. Für diesen Zweck zählt die leere Zeichenkette (die nur am Ende einer oder beider der zu vergleichenden Versionszeichenketten auftauchen kann) als Null.

Diese zwei Schritte (Vergleichen und Entfernen von nicht-Ziffern-Zeichenketten und Ziffern-Zeichenketten am Anfang) werden wiederholt, bis ein Unterschied gefunden wird oder beide Zeichenketten erschöpft wurden.

Beachten Sie, dass Epochen uns erlauben, Fehler in der Versionsnummerierung zurückzulassen, und mit Situationen umzugehen, in denen sich das Schema der Versionsnummerierung ändert. Sie sind nicht dazu gedacht, mit Versionsnummern umzugehen, die Zeichenketten aus Buchstaben enthalten, die das Paketverwaltungssystem nicht interpretieren kann (wie 'ALPHA' oder 'pre-')) oder mit unklugen Reihenfolgen.

BEMERKUNGEN

Das Tilde-Zeichen und seine speziellen Sortiereigenschaften wurden in Dpkg 1.10 eingeführt und einige Teile der Bauskripte von Dpkg haben erst später in der 1.10.x-Serie Unterstützung dafür erhalten.

ÜBERSETZUNG

Die deutsche Übersetzung wurde 2004, 2006-2016 von Helge Kreutzmann <[email protected]>, 2007 von Florian Rehnisch <[email protected]> und 2008 von Sven Joachim <[email protected]> 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.