Was bedeutet die Tilde in einer Debian-OpenJDK-Paketversionszeichenfolge?

Antworten:

13

Die offizielle Referenz für das Debian-Paketversionsformat finden Sie im Debian-Richtlinienhandbuch . Das Format ist so konzipiert, dass „vernünftig aussehende“ Versionsnummern mit einer genau definierten (wenn auch etwas komplexen) Vergleichsbeziehung entscheiden können, wann eine Version aktueller als eine andere ist.

Der Vergleich ist größtenteils ein lexikographischer Vergleich der Zeichenfolge. Zum Beispiel 1foowird vorher sortiert 1ga. Ziffernfolgen werden jedoch in numerischer Reihenfolge verglichen und foo10barnach sortiert foo9bar.

Bei einer lexikografischen Reihenfolge wird eine Zeichenfolge immer vor ihrem Präfix sortiert. Das Tilde-Zeichen erlaubt eine Abweichung davon: Es foo~barwird immer vor foound vor jeder Version sortiert , die mit fooeinem anderen Zeichen als beginnt ~. Dies wird häufig für Beta-Versionen verwendet: 8u60~b22wird vorher sortiert 8u60. Ich weiß nicht, warum die OpenJDK 8-Pakete zwischen -bund zu wechseln scheinen~b Suffixen .

Tilde-Suffixe werden auch für Backports aller Art verwendet. Wenn beispielsweise dieselbe Version eines Pakets sowohl in Debian Stable als auch in Testing vorhanden ist und ein Sicherheitskorrekturelement in Stable eingegeben werden muss, hat das Paket in Stable ein Suffix wie -2~deb1während der Testversion (kompiliert mit neueren Bibliotheken). wird haben -2; Auf diese Weise handelt es sich bei dem Paket um ein Upgrade auf die -1Version. Wenn jedoch ein System von stabil auf test aktualisiert wird, wird die -2~deb1stabile Version auf die -2Testversion aktualisiert . Offizielle Backports werden für denselben Zweck verwendet. Auf diese Weise wird eine Version aktualisiert, falls diese jemals in der Hauptdistribution erscheint.~bpoNUMBER4.2~bpo74.2

Gilles 'SO - hör auf böse zu sein'
quelle
Ok für die Bedeutung, aber was ist in diesem Fall der Grund für die Tilde?
Ortomala Lokni
1
@OrtomalaLokni Ich denke, sie brauchten ein Zeichen, das normalerweise nicht in Versionsnummern vorhanden war (also Interpunktion und nicht .oder oder -oder +), das (in den meisten Fällen) kein Shell-Sonderzeichen war und das in Windows-Dateinamen zulässig war. und das war vage raumartig im Aussehen.
Gilles 'SO - hör auf böse zu sein'
1
Es wird nicht nur für Backports verwendet, sondern auch für Dinge wie Release-Kandidaten: 1.0 ~ rc1-1 <1.0-1 - dies kann für einen Upload zu experimentellen verwendet werden
Wouter Verhelst