名前
- Provided by: dpkg-dev (Version: 1.17.5ubuntu5.8)
- Source: dpkg
- Report a bug
[epoch:]upstream-version[-debian-revision]
Debian バイナリおよびソースパッケージで用いられているバージョン番号は、以下の 3 つの要素からなっている:
パッケージ管理システムは、同じアルゴリズムを用いて upstream-version や debian-revision 同士を比較する。
文字列は左から右に順に比較される。
最初に、双方の文字列の先頭から、数字以外の文字からなる部分が切り出され、これら (片方が空文字列の場合もある) が辞書的に比較される。相違点が検出された場合、そこで比較は完了となる。辞書的な比較とは、ASCII 文字の比較に手を加えたもので、すべての文字は記号よりも先となるが、チルダだけは例外で、空文字を含むあらゆる文字よりも先となる。例えば、以下の文字列は、このソート順に並べられている: '~~', '~~a', '~', 空文字, 'a'。
次に、双方の文字列の残りの部分の先頭から数字の部分が切り出され、数値として比較される。相違点が検出された場合は、それが比較結果として返却される。空文字列 (比較されるバージョン文字列の末尾以外に存在することはない) は、比較時には 0 として扱われる。
このステップ (先頭の数字以外の文字列と数字を順に切り出して比較していく) を、相違点が確認されるか、双方の文字列の終端に達するまで繰り返す。
epoch は、バージョン番号の設定ミスや、バージョン番号の付与体系の変更にうまく対応できるようにする目的で存在する。パッケージ管理システムが解釈できない文字列 (例えば 'ALPHA' や 'pre-'など) が含まれているバージョン番号や、明らかにおかしい番号づけに対応することを意図したものではない。
The tilde character and its special sorting properties were introduced in dpkg 1.10 and some parts of the dpkg build scripts only gained support for it later in the 1.10.x series.
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto-inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.
Debian JP Documentation ML <debian-doc@debian.or.jp>.