kernel 2.2.1 その他たくさん


kernel 2.2.1 が引越し中に出てしまったぜ(汗) 急いで落してきて早速入れてみた。

前回書いた、JRPMの市川さんにいただいた kernel 2.2.0pre8 の nosrc.rpm をベース にちょこちょこ手直しして kernel 2.2.1 のパッケージを適当に作ってブチ込んでみた のだ。rpm -Uvh で入れたが、なにやら Warning が2、3出たほかは、どうということも なく入った。

すぐに make dep ; make clean ; make zImage して再構築すると、ほんのちょっとだ け 512k よりも大きくなっちゃって、あまりモジュールを使わず kernel に組み込みた がるオレの設定だと、bzImage じゃないとダメだった。

あとは普通にいつもどおりの手順で modules まわりもやり、lilo もサラッとカマして リブートだ。

PPxP もグ〜
印刷もグ〜
サウンドもグ〜
IP仮面もグ〜
nfsもグ〜
autofsもグ〜

… 面白くない(笑)

だが、ここでちょっと問題が。ppxp-98112523-4jrpm.src.rpm が、いつのまにか rebuild できなくなっていたのだ。

どうやら kernel 2.2 以降(preも含む)かららしい。前回、今回と、kernel 2.2.0 以降の kernel を2回にわたってインストールしているのだが、PPxP は rebuid せず、 userlink-0.98a だけ rebuild していたので気がつかなかったのだ。

いつもお世話になっている_tom_さん の弟子1号さんが見付けてくれた。が、弟子1号さん自身はまだ PPxP の auto.on の設定でハマッているみたいだけど…

で、結局、何が問題だったかというと、ppxpを展開して出てくるソースの OS/Linux/osdep.h の中で、#include している部分で

In file included from osdep.h:38,
                 from ipctrl.c:12:
/usr/include/asm/checksum.h:17: syntax error before unsigned'
/usr/include/asm/checksum.h:27: syntax error before unsigned'

という具合になる。そう。kernel header の非互換っぽいよね。で、osdep.h を見てみると、最初から kernel のバージョン毎に include するファイルを変更するように書かれていたよ。だもんで、マネして kernel 2.2.0 以降であった場合だけ linux/linkage.h を include するようにしてみ た。実際には

#if LINUX_VERSION_CODE >= 0x020200
#include <linux/linkage.h>
#endif

ってのを <asm/checksum.h> の前に入れただけなんだけど。これで kernel 2.2.1 でも rpm --rebuild できるようになった。できたパッケージはまだ JRPM には put してな くてパッケージ置き場に置いてある。使いながらちょっと様子見 中なのだ。

あと、今さらだけどRubyの 1.2.2 stable をパッケージにした。もう 出てからけっこう経ってるし、ruby-list MLでもいくつかパッチが出てたりするんだけど… 遅々として Ruby の勉強は進んでいないけど(なにしろホラ、オレってばオブジェクト 指向じゃなくてバータリー指向だから(苦笑))、これ からしばらく休みが取れるので、ちょっと気合いいれて勉強してみようと思ってさ。
で、Plane な Ruby はもちろんなんだけど、Ruby の拡張モジュールである ruby-gtk と slanglib もパッケージにしてパッケージ置き場に置 いといた。

ruby-gtk は名前のとおり、Ruby から GTK+ を使うための拡張で、元々の GTK+ に附属 の testgtk を ruby-gtk で書き直した sample も豊富に附属している、素晴らしいも のだ。が、ちょっと?な点が2つほどあり、ちょっとだけ手を入れさせてもらったもの をパッケージにしてある。

まず1つ目は、gcc-2.7.2.3 だと、ruby-gtk 自体のコンパイルに異常なまでに時間がか かる。ruby-gtk 作者の かんだ さんは egcs をお使いのようなので、こちらも egcs でコンパイルするようにしたところ、問題なくなったので、パッケージでも egcs でコンパイルするようになっている。もしも ruby-gtk を rpm --rebuild などす る場合は、egcs が必要だ。または gcc に変更して、何時間も待つか(汗)

あと、これは かんだ さんの思想なのかもしれないが、ruby-gtk 自身は 初期化時に gtkrc の parse を行なわない。だから、GTK+-1.0.6 などを wc 化して、日本語フォントを使えるようにしている環境で GtkText Widget を使おうとすると、ruby-gtk の機能を使う Ruby のスクリプト側で、明示的に gtkrc を parse してやるか、フォントを指定してやらないとブチ落ちてしまうのだ。

フォントを Ruby のスクリプト側で指定するってのは必要に応じて出てくることなので御意なのだが、せっかくデフォルトで日本語が出るように設定されている gtkrc を parse しないってのももったいない話だなぁ、と思ったので、ruby-gtk にほ 〜んのちょっとだけ手を入れて、$HOME/.gtkrc がある場合だけ、それを parse するよ うにした。

って、実は自分の環境では GIMP も dcup だの glade だの、その他 GTK+ なヤツが皆 $HOME/.gtkrc を初期化時に読むようになっているから、それに合わせただけなんだけ ど(笑) これの是非については、ruby-list ML で かんだ さんに聞いてみよう。

また、slanglib だけど、これは師匠が Ruby から slang の機能を使えるように開発した slang 拡張だ。これを使うと、早い 話(話は早いが道は遠い…)、jed や slrn などのような、slang を使う CUI なアプリを Ruby で開発できるようになる、というシロモノだ。もちろんオレは興味シンシンで勉 強を始めたってワケ。サンプルとして、pager や超簡易メーラが附属しているので、そ れをベースにね。

あとパッケージをこの引越し中に作り直したものは(って、引越し中になにしとるか> オレ)というと、jed と slang にパッケージ作成ミスがあったのと、あと s-lang ML で 流れたパッチをあてて再度パッケージし直した。

SKK を使っている場合に、c を押すと Ctrl-G が義務付けになる、というイヤ〜ンな症 状を修正したのさ(汗)

あと slang 関連で(今日は長いのぅ) slrn-0.9.5.4jp0 を師匠がリリースし たので、それもパッケージにしてパッケージ置き場に 置いてある。今日作って、今まさに使ってみているところなので、ちょっと様子見中だ 。問題なければ(ないと思うけど) JPRM に put するつもり。

師匠には slrn でのマウスの使い方を伝授してもらったのだが、これがすっげ〜グ〜な ので、それについてはまた新たに書こうと思う。実わまだオレも会得し切ってないのだ った…

あ、あと、しつこく続く rxvt なんだけど、_tom_さん がまた rxvt を revise してくださって、それを使うと SKK でスポット変換がで きる。[かな*-]という SKK のステータス箱が、カーソルを追って動くのには感動した 。おすすめだ。早速行ってもらってくるべし。

もちろん、BS も DEL もちゃんと効く。また、BS キーや DEL キーのキーコード割り当 てを変更することは、実はリソースでできるようになっているのだった。_tom_ さんの rxvt パッケージでは、デフォルトで通常のキーボード設定なら BS は BS、DEL は DEL として働くように配慮されているのだが、どうしても変更したい場合は、 $HOME/.Xresources などに

Rxvt*deletekey: "\033[3~"
Rxvt*backspacekey: "\177"

などと書いてコントロールすることができる。オレはデフォルトの設定で満足なのでとくに BS や DEL についてはなにも .Xresources には書いていないが、1点だけ

Rxvt*cutchars: "\"&'()*,;<=>?[\\]^{|}"

というのを入れている。これは何かというと、rxvt 上で mutt なり slrn なりを使っ ている場合に、マウスでダブル・クリックした際に文字列をどこで区切るのか、デリミ タを設定しているのだ。

デフォルトだと、rxvt の ソースに含まれる feature.h の中で

#define CUTCHARS        "\"&'()*,;<=>?@[\\]^{|}~"

などと定義されていて、~ や @ で区切れてしまうわけ。これだと URL やメールアドレスを一発で持ってこれないでしょ? だから、それを避けるために ~/.Xresources に指定しているのだが、快適なのでこっ ちをデフォルトにしちゃいたい感じがするよ。

はぁ。ずいぶんといろいろなパッケージを差し替えてしまったけど、ruby-slang や ruby-gtk をホゲるぞ。がんばろうっと。


メール 戻る