deb-version(7) | dpkg suite | deb-version(7) |
deb-version - Versionsnummer-Format von Debian-Paketen
[ Epoche:]Upstream-Version[-Debian-Revision]
Die für Debian Binär- und Quellpakete verwendete Versionsnummer besteht aus drei Komponenten. Diese sind:
Sie existiert, um Fehler in den Versionsnummern älterer Versionen des Pakets zu erlauben und auch, um das bisherige Nummerierungsschema eines Paketes aufzugeben.
Das Vergleichsverhalten des Paketverwaltungssystems in Hinblick auf die Upstream-Version wird nachfolgend beschrieben. Der Upstream-Version-Anteil der Versionsnummer 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.
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).
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 erscheinen 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.
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.
Die deutsche Übersetzung wurde 2004, 2006-2023 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.
2023-05-11 | 1.21.22 |