debian openjdk-8ソースパッケージ の changelog を読むと、openjdk-8(8u45-b14-)というバージョンがあることがわかります。 4)そして次はopenjdk-8(8u60〜b22-1)です。
この最後のバージョンのチルダの意味は何ですか?
Debianパッケージバージョンフォーマットの公式リファレンスは Debianポリシーマニュアル にあります。このフォーマットは、明確に定義された(多少複雑な場合でも)比較関係を持つ「合理的な外観の」バージョン番号を使用して、バージョンが別のバージョンより新しいことを判別できるように設計されています。
ほとんどの場合、比較は文字列の辞書式比較です。たとえば、1foo
は1ga
の前にソートされます。ただし、数字のシーケンスは数値順に比較されるため、foo10bar
はfoo9bar
の後にソートされます。
辞書式順序では、文字列は常に接頭辞の前に並べ替えられます。チルダ文字を使用すると、それとは異なります。foo~bar
は、常にfoo
の前、およびfoo
で始まり~
以外の文字が続くバージョンの前に並べ替えられます。 。これはベータ版でよく使用されます。8u60~b22
は8u60
の前にソートされます。 OpenJDK8パッケージが-b
サフィックスと~b
サフィックスを交互に使用しているように見える理由はわかりません。
チルダサフィックスは、あらゆる種類のバックポートにも使用されます。たとえば、同じバージョンのパッケージがDebian安定版とテスト版の両方に存在し、セキュリティ修正を安定版に入力する必要がある場合、安定版のパッケージには、テスト中のバージョン(コンパイル済み)の間に-2~deb1
のようなサフィックスが付きます。最近のライブラリに対して)は-2
;このように、パッケージは-1
バージョンへのアップグレードですが、システムが安定版からテスト版にアップグレードされると、-2~deb1
安定版は-2
テスト版にアップグレードされます。公式のバックポートは同じ目的で~bpoNUMBER
を使用します。このようにして、4.2~bpo7
バージョンがメインディストリビューションに表示された場合は4.2
にアップグレードされます。