Provided by: dpkg-dev_1.17.5ubuntu5.8_all bug

名前

       deb-version - Debian パッケージのバージョン番号の形式

書式

       [epoch:]upstream-version[-debian-revision]

説明

       Debian バイナリおよびソースパッケージで用いられているバージョン番号は、以下の 3 つの要素か
       らなっている:

       epoch  これは一桁の (通常小さい) 符号なし整数であり、0  の場合は省略してよい。省略した時に
              は、upstream-version にコロンを含めてはならない。

              epoch      は、パッケージの古いバージョンにおけるバージョン番号の誤りを許容すると共
              に、パッケージの以前のバージョンにおける番号体系をそのまま残しておくために提供され
              ている。

       upstream-version
              これはバージョン番号の中核部分であり、通常   .deb  ファイルの生成元であるオリジナル
              ("アップストリーム")   のパッケージのバージョン番号が可能であれば用いられる。一般的
              に、このバージョン番号は、アップストリームの作者によって指定された形式と同じ形式に
              なるが、場合によってはパッケージ管理システムの形式や比較ができる形式に合わせるため
              に、形式の変更が必要となる場合もある。

              パッケージ管理システムが   upstream-version  間で比較を行う際の挙動については後述す
              る。バージョン番号には、必ず upstream-version 部分がなければならない。

              upstream-version には英数字 ("A-Za-z0-9") と、文字 . + - : ~  (ピリオド、プラス、ハ
              イフン、コロン、チルダ)            の各記号のみが許容され、先頭は数字である必要があ
              る。debian-revision が存在しない場合は、ハイフンを使うことはできない。epoch  が存在
              しない場合は、コロンを使うこともできない。

       debian-revision
              バージョン番号のこの部分では、upstream-version  に基づく  Debian パッケージとしての
              バージョン (リビジョン)  を指定する。これには英数字と文字  +  .  ~  (プラス、ピリオ
              ド、チルダ) のみが許容される。比較については、upstream-version と同様に行われる。

              この部分は任意であるが、存在しない場合は  upstream-version にハイフンを含めることは
              できない。ソフトウェアが Debian  パッケージ化を前提に開発された場合、あるバージョン
              に対する  "debian 化" されたバージョンが 1 つしか存在しないため、リビジョン番号は不
              要となる。

              upstream-version がバージョンアップしたら、debian-revision は '1'  から再度始めるの
              が慣習になっている。

              dpkg        はバージョン番号文字列を、最後のハイフンの前後で       upstream-versiondebian-revision とに分割する (ハイフンがある場合)。debian-revision が存在しない場
              合は、存在する場合よりも小さいとみなされる (ただし、debian-revisionは、バージョン番
              号を構成する要素のうち、もっとも右の部分であることに留意)。

   Sorting algorithm
       パッケージ管理システムは、同じアルゴリズムを用いて upstream-versiondebian-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.

関連項目

       deb-control(5), deb(5), dpkg(1)

翻訳者

       高橋  基信  <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>.