2004-03-18 (Thu)
_ [debian] apt-listchanges 最近おかしい
2.51? になってから表示されないなー、と思っていたら、#238436 か。dpkg-reconfigure apt-listchanges しておく。
_ [debian] initscripts と sysvinit 変
2.84-2woody1 から 2.85-11 には一気に jump up できなかった。間に 2.85-9 を挟むと行けた。
_ [comp] quota を試す
Quota mini-HOWTO を見つつ、quota をかけてみた。
_ [comp] kernel 2.6.5-rc1-mm2
fbdev-char-drawing-enhancement.patch が linus tree に merge されてしまったようだ。
- 4k-stacks-always-on.patch (-R で当てる)
vd_unicon-kernel-2.6+mm-20040318.patch.bz2- longbeep-linux-2.6.0.patch (console.c を vt.c に変更)
- vd_kernel-2.4.21-tuner-ntscjp.patch
ということで、vd_unicon-kernel-2.6-20040219.patch.bz2 + -mm 対応 patch + fbdev-char-drawing-enhancement.patch を -R したものを UNICON 2.6 β版として作成した。多分、2.6.5 が正式に出たときに、-mm 対応 patch を外して UNICON 2.6 正式版作成かなぁ。
2004-03-17 (Wed)
_ [comp] kernel 2.6.5-rc1-mm1
2.6.5-rc1 & -mm1 が出たので早速確認。fbdev-char-drawing-enhancement.patch は linus tree には入らなかったようだ。でも mm tree にはまだあるので、これを外さないと。
- fbdev-char-drawing-enhancement.patch (patch -R で当てる)
- vd_unicon-kernel-2.6-20040219.patch.bz2 &
-mm 対応 patch - longbeep-linux-2.6.0.patch (console.c を vt.c に変更)
- vd_kernel-2.4.21-tuner-ntscjp.patch
で作成。boot はしたが、X を上げようとしたら、nvidia ロゴが出る前に刺さるなぁ。 どうやらこれっぽい。> NVIDIA and 2.6.4? mm patch 中の 4k-stacks-always-on.patch を外せばよいようだ。nvidia driver の binary 部分が問題らしい。外して作成したら OK だった。
_ [comp] UP マシンに SMP kernel を乗っけたら?
答え:原因不明のフリーズに悩まされる。先の講座 server の kernel 更新の際の出来事なのだが、
- ついいつものクセで、SMP な kernel を作ってしまった。それも MPENTIUMIII=y で。
- Pentium II Deschutes だと知らずにそのマシンに乗っけたところ、1時間も立たないうちにフリーズ。
- Deschutes と気付いて、M686=y で作り直す。でも SMP はそのまま。やっぱりフリーズする。
- nosmp という kernel parameter を知る。けど効果がない。
- 仕方ないので、SMP=n で作り直す。というか順番が逆。
lm-sensors のせいにしたり、NFSD_TCPD=n のせいにしたりしたけど、単純な問題だったなぁ。
2004-03-16 (Tue)
_ [comp] mozilla history.dat どうにかして
mozilla の history は netscape 時代から 9999 日保存する設定になっているので、現在 50M 近くある。このため、mozilla を起動した後、history の処理に膨大な時間がかかってしまう。で、常々ダイエットしなければと思っているのだけれども、mozilla の history.dat に使われている mork とかいう format はひどすぎる。さっぱり理解できない。 で、ここのところ mork に関する文献やらプログラムやらを探していたが、ようやく見つけた。when the database worms eat into your brain に mork.pl という perl script が置いてあるので、食わせてみた。めっちゃスラッシングして OOM Killer に perl が殺された。さすがに 50M 近くは無謀だったか…。とりあえず足掛りは見つけたので、自分で何とか作ってみるか…。 あと直接関係ないけど、そこの weblog の BBS では、mork とその作者について下品な 4 文字言葉を用いてボロクソに書いてあるなぁ。当たり前か。
_ [debian] timidity 2.13.0-rc1-CVS20040221-1
これになって libgtk1.2 を要求しなくなったので、あれ?いつの間にか GTK+2 対応になってた?と思ったら、timidity-interfaces-extra のほうで libgtk1.2 を持つようになってただけだった。ちぇ。
_ [debian] lm-sensors 2.8.5-3vd1
とりあえず CVS から引っ張ってきて作成。CVS source に lm-sensors_2.8.5-3.diff.gz を当てると、2.8.5 と CVS の差分が一部含まれているようで rej が出るが無視して OK。
_ [debian] include/linux/version.h 消滅問題
2.6.4-mm1 and -mm2: include/linux/version.h missing (vanilla ok) によると、2.6.4-mm* では make clean で include/linux/version.h を消すようになっていて、make-kpkg がコンパイル完了後に make clean を実行するから、ということのようだ。ということで、書かれている通り、/etc/kernel-pkg.conf に
do_clean := NO
を追加してみた。
_ [debian] tdiary 1.5.6+20040315-0vd1
作成。 ついでにレイアウトとかちょっと変えてみる。カテゴリ一覧を出力できるようになったので早速追加。ん、debain って何だ… typo 発見、ということで修正。
_ [comp] timidity GTK+2 対応
結構大変だ…。まずは gtk-config を pkg-config gtk+-x11-2.0 に交換しただけで make し、コンパイルエラーやら警告やらを潰す。よくわからない部分は、他の GTK+1 アプリに対する GTK+2 移行 patch とか、GTK+2 なアプリのコードを参考に手探りで。
- GTK_SIGNAL_FUNC を G_CALLBACK に変更。
- gtk_accel_group_get_default を gtk_accel_group_new に変更。
- gtk_tooltips_set_colors は消滅したので削除。
- GtkText は depracated につき、GtkTextView に変更。
と、他にもまだまだあるんだろうけど、ここで GtkTextView にはまる。うまいこと描画できなかったり、自動でスクロールしてくれなかったり。いいもの見つけた。> Scroll to the end of a TextView ここで例示されているコードをそのままぶち込んだら一部おかしいようだが、スクロールはするようになった。あとできちんとチェックすることにして次。コメントとかに含まれてる日本語を表示しようとする際に、
(<unknown>:14614): Gtk-CRITICAL **: file gtktextbuffer.c: line 543 (gtk_text_buffer_emit_insert):
assertion `g_utf8_validate (text, len, NULL)' failed
とか出るし、日本語部分も表示されない。g_utf8_validate について調べてみると、文字列が UTF-8 かどうかを調べる関数のようだ。GTK+2 のウィジェットに渡す際は UTF-8 じゃないと駄目ってことらしい。MIDI に含まれてる日本語は(多分) Shift-JIS ばっかりだろうなー。ということで、変換してやる。
gchar *message_u8;
:
message_u8 = g_locale_to_utf8( message, -1, NULL, NULL, NULL );
:
gtk_text_buffer_insert(textbuf, &end_iter, message_u8, -1);
:
g_free( message_u8 );
こんな感じ。Gtk-CRITICAL も出なくなったし、日本語も表示されるようになった。 でもまだまだ終わらない。