.\" dpkg manual page - deb-version(5)
.\"
.\" Copyright 息 1996-1998 Ian Jackson and Christian Schwarz
.\"   for parts of the text reused from the Debian Policy
.\" Copyright 息 2007 Frank Lichtenheld <djpig@debian.org>
.\"
.\" This is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program.  If not, see <https://www.gnu.org/licenses/>.
.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH deb\-version 5 2013\-04\-02 "Debian Project" Debian
.SH 名前
deb\-version \- Debian パッケージのバージョン番号の形式
.
.SH 書式
[\fIepoch\fP\fB:\fP]\fIupstream\-version\fP[\fB\-\fP\fIdebian\-revision\fP]
.SH 説明
Debian バイナリおよびソースパッケージで用いられているバージョン番号は、以下の 3 つの要素からなっている:
.TP 
\fIepoch\fP
これは一桁の (通常小さい) 符号なし整数であり、0 の場合は省略してよい。省略した時には、\fIupstream\-version\fP
にコロンを含めてはならない。
.IP
\fIepoch\fP
は、パッケージの古いバージョンにおけるバージョン番号の誤りを許容すると共に、パッケージの以前のバージョンにおける番号体系をそのまま残しておくために提供されている。
.TP 
\fIupstream\-version\fP
これはバージョン番号の中核部分であり、通常 \fI.deb\fP ファイルの生成元であるオリジナル ("アップストリーム")
のパッケージのバージョン番号が可能であれば用いられる。一般的に、このバージョン番号は、アップストリームの作者によって指定された形式と同じ形式になるが、場合によってはパッケージ管理システムの形式や比較ができる形式に合わせるために、形式の変更が必要となる場合もある。
.IP
パッケージ管理システムが \fIupstream\-version\fP 間で比較を行う際の挙動については後述する。バージョン番号には、必ず
\fIupstream\-version\fP 部分がなければならない。
.IP
\fIupstream\-version\fP には英数字 ("A\-Za\-z0\-9") と、文字 \fB.\fP \fB+\fP \fB\-\fP \fB:\fP \fB~\fP
(ピリオド、プラス、ハイフン、コロン、チルダ) の各記号のみが許容され、先頭は数字である必要がある。\fIdebian\-revision\fP
が存在しない場合は、ハイフンを使うことはできない。\fIepoch\fP が存在しない場合は、コロンを使うこともできない。
.TP 
\fIdebian\-revision\fP
バージョン番号のこの部分では、upstream\-version に基づく Debian パッケージとしてのバージョン (リビジョン)
を指定する。これには英数字と文字 \fB+\fP \fB.\fP \fB~\fP (プラス、ピリオド、チルダ)
のみが許容される。比較については、\fIupstream\-version\fP と同様に行われる。
.IP
この部分は任意であるが、存在しない場合は \fIupstream\-version\fP にハイフンを含めることはできない。ソフトウェアが Debian
パッケージ化を前提に開発された場合、あるバージョンに対する "debian 化" されたバージョンが 1
つしか存在しないため、リビジョン番号は不要となる。
.IP
\fIupstream\-version\fP がバージョンアップしたら、\fIdebian\-revision\fP は '1' から再度始めるのが慣習になっている。
.IP
dpkg はバージョン番号文字列を、最後のハイフンの前後で \fIupstream\-version\fP と\fIdebian\-revision\fP とに分割する
(ハイフンがある場合)。\fIdebian\-revision\fP が存在しない場合は、存在する場合よりも小さいとみなされる
(ただし、debian\-revisionは、バージョン番号を構成する要素のうち、もっとも右の部分であることに留意)。
.SS "Sorting algorithm"
パッケージ管理システムは、同じアルゴリズムを用いて \fIupstream\-version\fP や \fIdebian\-revision\fP 同士を比較する。
.PP
文字列は左から右に順に比較される。
.PP
最初に、双方の文字列の先頭から、数字以外の文字からなる部分が切り出され、これら (片方が空文字列の場合もある)
が辞書的に比較される。相違点が検出された場合、そこで比較は完了となる。辞書的な比較とは、ASCII
文字の比較に手を加えたもので、すべての文字は記号よりも先となるが、チルダだけは例外で、空文字を含むあらゆる文字よりも先となる。例えば、以下の文字列は、このソート順に並べられている:
\&'~~', '~~a', '~', 空文字, 'a'。
.PP
次に、双方の文字列の残りの部分の先頭から数字の部分が切り出され、数値として比較される。相違点が検出された場合は、それが比較結果として返却される。空文字列
(比較されるバージョン文字列の末尾以外に存在することはない) は、比較時には 0 として扱われる。
.PP
このステップ (先頭の数字以外の文字列と数字を順に切り出して比較していく) を、相違点が確認されるか、双方の文字列の終端に達するまで繰り返す。
.PP
epoch
は、バージョン番号の設定ミスや、バージョン番号の付与体系の変更にうまく対応できるようにする目的で存在する。パッケージ管理システムが解釈できない文字列
(例えば 'ALPHA' や 'pre\-'など) が含まれているバージョン番号や、明らかにおかしい番号づけに対応することを意図したものでは\fBない\fP。
.SH 参考
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.
.SH 関連項目
\fBdeb\-control\fP(5), \fBdeb\fP(5), \fBdpkg\fP(1)
.SH 翻訳者
高橋 基信 <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>.
.SH 翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.
