web-dev-qa-db-ja.com

一部のdebian openjdkパッケージバージョン文字列のチルダの意味は何ですか?

debian openjdk-8ソースパッケージchangelog を読むと、openjdk-8(8u45-b14-)というバージョンがあることがわかります。 4)そして次はopenjdk-8(8u60〜b22-1)です。

この最後のバージョンのチルダの意味は何ですか?

8
Ortomala Lokni

Debianパッケージバージョンフォーマットの公式リファレンスは Debianポリシーマニュアル にあります。このフォーマットは、明確に定義された(多少複雑な場合でも)比較関係を持つ「合理的な外観の」バージョン番号を使用して、バージョンが別のバージョンより新しいことを判別できるように設計されています。

ほとんどの場合、比較は文字列の辞書式比較です。たとえば、1foo1gaの前にソートされます。ただし、数字のシーケンスは数値順に比較されるため、foo10barfoo9barの後にソートされます。

辞書式順序では、文字列は常に接頭辞の前に並べ替えられます。チルダ文字を使用すると、それとは異なります。foo~barは、常にfooの前、およびfooで始まり~以外の文字が続くバージョンの前に並べ替えられます。 。これはベータ版でよく使用されます。8u60~b228u60の前にソートされます。 OpenJDK8パッケージが-bサフィックスと~bサフィックスを交互に使用しているように見える理由はわかりません。

チルダサフィックスは、あらゆる種類のバックポートにも使用されます。たとえば、同じバージョンのパッケージがDebian安定版とテスト版の両方に存在し、セキュリティ修正を安定版に入力する必要がある場合、安定版のパッケージには、テスト中のバージョン(コンパイル済み)の間に-2~deb1のようなサフィックスが付きます。最近のライブラリに対して)は-2;このように、パッケージは-1バージョンへのアップグレードですが、システムが安定版からテスト版にアップグレードされると、-2~deb1安定版は-2テスト版にアップグレードされます。公式のバックポートは同じ目的で~bpoNUMBERを使用します。このようにして、4.2~bpo7バージョンがメインディストリビューションに表示された場合は4.2にアップグレードされます。