[Momonga-devel.ja:00003] Re: mph-get problem?


かずひこです。

At Sat, 06 Jul 2002 10:38:58 +0900,
Kazuhiko wrote:
> が、現時点での mph-get では、mph-get upgrade としたときに
> 
> mo-1.0-1k -> mo-1.0-1m とか
> mo-1.0-1k -> mo-1.0-2m とか
> 
> の場合に対応していないようです。

どう治すのがいいのか考えてみました。

現在は、/usr/bin/mph-get の def m_relcmp の

  if ( (sFRS <=> sSRS) != 0 )
    # if sFRS != sSRS, sSecond is newer
    return -1
  end

で、'k' と 'm' とがちがったら無条件で元のパッケージが新しい、と判断され
ています。この部分を削除すれば、後者の

mo-1.0-1k -> mo-1.0-2m

のケースは対応できます。前者の

mo-1.0-1k -> mo-1.0-1m

の方は、'k' < 'm' なら無条件でアップグレード、という乱暴な条件でよければ
前述の部分を

  if ((sFRS <=> sSRS) == 1)
    # if sFRS > sSRS, sFirst is newer
    return 1
  end

とすれば対応できます。これだと、'4k' < '1m' ということになってしまいます
ので注意。もちろん、逆に言えばきれいさっぱり '1m' から始めます、と言えな
くもないのですが、これは個人的には賛成できません。

次期 mph では、このあたりの仕様はどうするのがいいのでしょうか?