[Momonga-devel.ja:00264] Re: 正式リリース前のソフトの rpm のバージョン
- From: TAKAHASHI Tamotsu <tamo@xxxxxxxxxxxxxxxxx>
- Date: Thu, 1 Aug 2002 17:49:30 +0900
tamo です。
On Tue, 30 Jul 2002, TAKAHASHI Tamotsu wrote:
> さて、このメイルにしばらく反応が付かないようであれば、
> ドキュメントの修正案をここに流すことにいたします。
ということで、
http://www.momonga-linux.org/~tamo/spec_rel.html
に案を置いてみました。
メイルで反応しやすいように、長いですが txt を引用します。
====<Specfile-Guidance>====
release は「nm」とする。 n は 0 以上の整数、m はMomongaの m (小文字)の
意。 これにより、全ての rpm は (name)-(ver)-nm となる。 細かい修正があ
った場合は n を増やす。nmn とはしない。
基本的に 1m を始点とし、修正ごとの増分は 1 とする。 なお、Release タグ
と changelog セクションの数字が一致していないことが 結構あるようなので
、 (間違っているのが changelog の方であればそれほど問題ではないが)
commit ごとに注意すること。
alpha, pre2, rc1 等は 0.n.nm を、 CVS tree から抜き出した場合は
0.YYYYMMDD.nm を特例として認める。 [1]
alpha 版および pre 版等における例外的な rel の付け方
例: 3.0pre2 の場合
Version: 3.0
Release: 0.2.1m
0 の次の数が pre の version、次が rebuild 回数となる。
0 . 自然数 . 自然数 m
であり、複数の自然数が [ . ] で区切られたものとみなされる。 よ
って、桁が増えてもそのまま 0.2.9m, 0.2.10m, 0.2.11m と続けてい
って構わない。
例: CVS 等 日付がはいる場合
Release: 0.20001201.1m
0. に続けて 日付、rebuild 回数となる。 つまり pre 等と同じく
0 . 自然数 . 自然数 m
であるから、pre20001201 と結局は同じことである。
又、version に pre を廃止した経緯は、
2.0pre2 > 2.0
になってしまう為の対策である。
_________________________________________________________________
[1] rpm は、英数字以外の文字を区切り (時刻のコロンの様なもの) とし
て扱い、区切られた各英数字列を比較する。比較の際は、まず 文字数を比較
して、どちらかが長い場合は長い方が大きいと判断する。 このとき、先頭の
'0' の列は無視している。また、文字数が 同一の場合は strcmp(3) を用いて
大小を比較する。
であるから、0.n.nm というのは 0.n.n という小数に m が付いたものではな
い。 rpm 的には 0.1 < 0.010 なのである。 tools/ で make して得られる
rpmvercmp.Jirai で、 rpm がどういう判定をするかがわかるので、きちんと
rpm 的に rel が「単純増加」していくように注意すること。
--
tamo