自分の好みに忠実に、SKK や jed や ruby といったところをパッケージにしては入れてきたのだが、フと気がつくと、大森さんの Vine のページ に ghostscript 5.10_jp と 5.50_jp の glibc-2.1.1 対応版は出ているわ(感謝だ)、Canna や kinput2 などの、オレ的には使ってないものまで出揃ってきているでわないか。
さらに、例によって炎のパッケージャ_tom_ さんが、XEmacs のパッケージを作ってコソッと公開してたりするし。これはきっと嬉しい人も多いに違いないぜ。久しぶりに、オレも使おっと(大笑い)
というワケで、これからは今までの作業をちょっと振り返って、集めたパッケージのうちでもまっとうなモノを(笑) JRPM に contrib させてもらう方向に進もうと思う。_tom_ さんやてんこうさんと結託しつつ。ぱぱんださんが疲労困憊して日記をお休みしてしまわれたのは、目の幅の涙が出るほどサミシイが、紀香負けないもん(ぢゃねぇだろ)。
ま、それはそれとしておいおいやっていくつもりだが、とりあえず日本語な赤帽 5.2 から(LASER5 の日本語赤帽 5.2 を必ずしも指すワケではない) 赤帽 6.0 にアップグレードする上での注意点を2つほど書いておく。
今どき赤帽 5.2 で日本語を不自由なく使っている人は、Vine は別格とすると、LASER5 の日本語赤帽 5.2 か、英語版の赤帽に JRPM ないしは PJE のパッケージを入れて使っている人だと思う。つまりwcsmbs-locale と libwcsmbs が入っているか、または glibc+wcsmbs が入っているということになる。
そのままの状態で、上書きで赤帽 6.0 にアップグレードにするのは避けよう。
少なくとも libwcsmbs を使っている人はハマるので絶対にヤメようね。libwcsmbs にあたる機能、wcsmbs-locale のうち wcsmbs.so で提供されている機能については、glibc-2.1.1 は元々持っているので、不要になったのだ。特に libwcsmbs は libc.so がロードされるときは有無を言わさずプリロードされてしまうので、存在すると非常に都合が悪いのだ、逆に(汗)
もともと、日本語が使えるなどとどこにも書いてない赤帽 6.0 を入れようとする以上、それなりの不便や環境構築の手間は覚悟の上で当然だとは思うが、かといってあらかじめ場所がわかっている地雷を踏むことはない。黙って rpm -e libwcsmbs しよう。それからなら上書きで赤帽 6.0 にアップデートしても大きな不都合はないと思う。オレの場合は自然にそうしてしまったので、特にハマらなかったし、それゆえ覚え書きに書くようなネタにもせず、簡単に環境が作れてつまらぬ、などと書いてしまったのだが…
もう一度書いておくけど、赤帽 6.0 にアップグレードするなら、rpm -e libwcsmbs してからにしよう。
それと、赤帽 6.0 の rpm は(って、rpm コマンド自体のことね) rpm-3.0-6.i386.rpm だったと思うが、これは腐ってるのでとっとと rawhide 1.3.9 の rpm-3.0.1-12.i386.rpm (5/31現在)に差し替えるのを薦める。オレも速攻で差し替えたぞ。
以前の覚え書きにも書いたけど、rpm-2.9.x になってから rpm は直ったり腐ったりを繰り返している感じで(情けね〜) 赤帽 6.0 の rpm-3.0-6 だと、noarch な rpm が正しく作れない場合がある(っつ〜かまずダメだ)。 SRPMS から rpm --rebuild でならいけるときもあるのだが、一旦展開して、rpm -ba で noarch なパッケージを作ろうとすると、build は問題なく終わっても、いざパッケージを書き出す段になって core 吐いてお亡くなりになる。当然パッケージも作られないのだ。
これってマジで情けないっつ〜か、赤帽本社の人々はどうやって noarch なパッケージを作ってんだ?という気になるぞ。LANG=C なら平気なのか?とか root でやれば(逆に、やらなければ)平気なのか?とか実験したけどどっちにしろダメだった。
以前、_tom_ さんから「こりゃ rpm のバグくさいですね」っつって rpm へのパッチをもらって事無きを得た記憶があるんだが、ふと見ると手元にないし(汗)
と思っていたら、rawhide の rpm-3.0.1-12 は修正されているらしいということを教えてもらったのだ。
rpm はバージョン 2.9 以降ではターゲットの指定方法が変わって、rpm --target=%_targetcpu という指定の仕方をするんだけど、この %_targetcpu の部分に noarch を指定した場合に core 吐いて落ちる場合は、ダマされたと思って rawhide の rpm-3.0.1-12.i386.tpm を落としてきて試そう。
また、ターゲットの指定をして、例えば i586.rpm を作りたい場合の設定の仕方も変化があるので注意だ。最近は i586 か noarch しか作っていないので、以下のようにしている。
~/.rpmrc
~/.rpmmacros
SPEC ファイルの中で、$RPM_ARCH を使う場合がたまにあるが、rpm --target= で指定したターゲットと ~/.rpmmacros の中で %_arch で指定したものだと振舞いが異なるのだ(なぁにぃゆぅえぇ?)。
%_arch に指定しておかないと、$RPM_ARCH には反映されないようで、それでハマッてしまったことさえあるぞ(汗) なんかダッサイよねぇ。rpm ってのは高機能な cpio に過ぎないってことだな。肝に命じとこう。
buildarchtranslate: i586: i586
optflags: i386 -O2 -m486 -fno-strength-reduce
optflags: i586 -O9 -mpentium -Wall -Wno-parentheses -funroll-loops -fomit-frame-pointer -ffast-math -malign-functions=2 -malign-jumps=2-malign-loops=2
#optflags: i586 -g -O0 -mpentium -Wall -fno-strength-reduce -fno-inline-functions
%_topdir /usr/local/src/redhat
%_arch i586
メール
戻る