[Momonga-devel.ja:00264] Re: 正式リリース前のソフトの rpm のバージョン


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