Not only is the Internet dead, it's starting to smell really bad.:2004年07月11日分

2004/07/11(Sun)

(ry

@私事ですが

本業もMilestone越えて消火、普通の生活に戻れそうです。
ぼちぼち*BSDいぢりも再開かと。

@嘘を嘘と(ry

メール送っても450 Temporary failureで帰ってきてしまうので、2chで延々マジレス。
http://pc5.2ch.net/test/read.cgi/unix/985675477/196-

196 :itojun :04/07/09 13:50
    citrusをOpenBSD-currentに入れる作業が進行中ですが、__RENAME()がないとかその他いいろな理由で進んでいません。もしcitrus patch(ちゃんとうごくやつ)を隠し持っているひとがいたら是非お送りください。

197 :名無しさん@お腹いっぱい。 :04/07/10 13:32
    神光臨?

198 :190 (1/1) :04/07/11 21:26
    >>196
    どのへんが merge の障害なのか、議論のポインタを知らないので
    役に立つかどうかは判りませんが、↓こちらに置きました。

    http://sigsegv.s25.xrea.com/distfiles/citrus/OpenBSD/HEAD-citrus-20040710.tar.bz2

    最新(2004/07/10) の OpenBSD / NetBSD 両 HEAD branchに同期済です。i386で
    full buildが通ることと、昔のCitrus CVS repositoryにあったtest1, test2で
    NetBSD-currentと結果の相違が無いことを確認してあります。

    NetBSD から mergeしきれていないのは
    1. usr.bin/locale
    stringlist.h が無い、sys/queue.hなり使って書き直す必要あり。
    2. wcsto(u)imax(3)
    (u)intmax_tが無い、inttypes.h とか、c99 回りが整ってからでいいような。
    くらいですかね。

199 :190 (2/3) :04/07/11 21:27
    この tar.bz2 には patch が2つ含まれます。 citrus.patch の方がメインで
    kevlo AT openbsd DOT org 氏 (ttp://www.kevlo.org/citrus/index.html)
    や
    kurati 氏 (ttp://www.nurs.or.jp/~kurari/bsd/index.html)
    が作成されてるモノと(__RENAME()とか__SETLOCALE_SOURCE__の扱い以外)
    あんまり変わらないはず。

    ただ↑だけでは binary compatibility 上
    1. MB_LEN_MAX 1 -> 32
    2. sys_{nerr,errlist} (EILSEQが追加になるので)
    という問題が残りますので、対策として rename.patch を用意してあります。

    rename.patch は NetBSD から __RENAME() を lint(1) への hack 含め、
    一式貰ってくるという乱暴な方法なので、
    OpenBSD 的にはそれはOKなのかちょっと疑問です(だから役に立ちそうもない)。

    そもそもOpenBSD って結構頻繁に libc の major version が上がるのですけど、
    citrus を import したタイミングで bump up できないのでしょうか?
    それなら __RENAME() を持ってきたりする必要はないので、
    citrus.patch を merge するだけで終りという認識なのですが。

200 :190 (3/3) :04/07/11 21:29
    それから、dlopen(3) はあんまり OpenBSD 的に好まれない気がするので、
    locale module を dynamic loading するのでなく、libc に抱え込む
    compile option (CITRUS_BUILD_LOADABLE_MODULE={yes,no}) が
    citrus.patchには含まれています。
    src/libc/citrus/citrus_module_data.h 辺りのファイルが追加になってます。

    もし他に私が見落としている merge への blocker 等ありましたら
    ご指摘下さい。

つか、本物のitojunさんなんでしょうかね(苦藁