というわけで、ローレンな環境を整えるためにパッケージにしたものを新たに置くことにしたのだが、インストールしてすぐ使えるバイナリ・パッケージを置くのはヤメることにした。
ISP の容量制限もあるし、そもそも glibc 2.1 なローレン環境でビルドしたパッケージを置いたところで、ほとんどの人には役に立たぬし、落した人が glibc 2.0 環境では当然だがインストールに失敗する。そこで glibc 2.0 なパッケージはありませんか? などとメールなど来ようものならオレがブチ切れるのは必定だ(笑) rebuild できませんとか、動きが変ですとか、パッチですなどというのは大歓迎だが、バイナリはないのか?ってのはねぇ。
rpm --rebuild すれば赤帽5.2 の glibc 2.0 + libwcsmbs 環境でもそれらしく動作することは確認してあるので、必要に応じて rebuild してもらえたら嬉しい。というか、オレならバイナリ・パッケージがあったとしても SRPM の方を持っていって rebuild してから使うけどなぁ :-P
rpm を使うようになってしばらく経ったけれど、しょせんは rpm も、必要と指定されているパッケージが入っているか確認し、置けと指定された位置にファイルをコピーしているに過ぎないわけで、その振る舞いがよく理解できていないうちにバイナリ・パッケージをボカスカ入れるのは、やはり、あまり賢い方法ではないよなぁ。
確かにソースの tar 玉を持ってきて make install で入れるのに比べれば、はるかに楽なのだが、個人で使用しているマシンであっても「システム管理」というものは存在するはずだし、その管理者は他ならぬユーザ自身なのだ。実際の作業そのものは、rpm -i などでブチ込むだけであっても、本来は「make install」の手順を踏んで適宜自分の環境に擦り合わせたのと同程度には、今、自分が何をしているのか、を理解しているべきなのではないか、と思う。
特に、最近よく見かけるようになった質問として
「rpm -i hogehoge.rpm とすると failed dependencies: libhoge is needed by hoge などと出てインストールできません、どうすればいいのですか?」
などというのがあるが、この手の質問を見た親切な人が
「それは hoge が 依存している libhoge というパッケージが入っていないためです。libhoge を入れましょう。にも関わらずどうしてもインストールしたい場合は rpm -i --nodeps hoge.rpm などとするとインストールすることはできます。」
などと答えてあげていたりする。他にも failed dependencies: ではなくて「conflict と言われます」という場合に「それは何らかの理由ですでに同じ名前のファイルがあるのです。にも関わらずどうしてもインストールしたい場合は --force でインストールできます。」と答えてあげている場合もある。
予想つくでしょ?どうなるか。そう。2日と経たないうちに、「インストールしたのですが動きません」という質問が出ると相場は決まっている。お約束だね。進歩ないぞぅ。
せっかく親切で答えてくれたのに、えてして「依存しているパッケージが足りない」とか「すでに入っているのではないか?」という答の真意を汲まず、手段だけを求めて rpm -ivh --nodeps --force などとしてブチ込んでしまうからそういうことになる。そういうのはインストールしたって言わないんだよ。単にコピーしてブチ込んだだけ。動かなくても何の不思議もない。
Windows を使っている人で、フリーウェアだの、お試し版だのというのがあると、次から次へと落してはインストールしたあげく、なんだかワケの分からない状態になり、不安定になったら再インストールだ、ったく Windows は不安定だ、などとやっているのを見たり聞いたりするが、不安定なのはあんたのオツムだろ、と言いたくなる。賽の河原で石を積んでるんじゃねぇんだからさぁ。
Windows には依存性の管理もヘッタクレもないからすぐにそういうことになりがちだが、rpm だって deb だって、よく考えもせずにバイナリ・パッケージをボカスカ入れたら、似たようなもんだぜ。
何らかの問題があるのにメッセージやログなどに出ず、徴候がない、ということはあるが、その逆の、なんの問題もないのにメッセージが出る、ということはまずない。worning ならともかく、failed とか error とか言ってるなら、それは確実に問題があるということだ。そういうのを拾わずして、安定も不安定も語れまい。Linux であっても、たとえ Windows であっても、だ。
おっと脱線してしまったぜ、長々と。
パッケージ置き場の現在の内訳を書いとこう。
これ、本来は noarch でいいような気もするけど… glibc 2.0 +libwcsmbs でも rebuild すれば動作する。tcltk 8.0.4 が必要。これ2画面ファイラ?ってのかな? ftp 機能も内蔵してるし、ホイールマウスにも対応してるし、拡張子とアプリの関連付けもできるし、いいと思うんだけどなぁ。
アイコン集ね。愛用。
お馴染みの辞書ビューワなんだけど、FileRunnerのマネしてホイールマウスをサポートするようにパッチをあててみた。これも noarch でいいような気もするけど… glibc 2.0 +libwcsmbs でも rebuild すれば動作する。
bttvgrab もパッケージにしちゃった。bttvgrab は 0.15.2 というのがすでに出ているのだが、glibc 2.1 環境が悪いのか、kernel 2.2.5 の bttv driver が悪いのか、どうしてもうまく動かなかったので、今でも bttvgrab 0.15.0 を使っている。
glibc 2.1 では semctl() の引き数が glibc 2.0 と異なっている(1つ廃止になってる)など微妙な違いがあったのでパッチで吸収した。kernel 2.2.x のソースツリーが /usr/src/linux に置いてある環境なら、glibc 2.0 でも glibc 2.1 でもそのまま rebuild できる。
kernel 2.0.3x で、自分で bttv driver を入れている場合には、bttv driver のソースを展開してある位置によっては configure が見付けてくれない場合があるので注意が必要だ。
dcup(笑)
e2compr 対応版の e2fsprogs をパッケージにしてみた。kernel 2.2.x 専用だ。glibc 2.0 環境ではビルドの確認も動作確認もしていない。
また、kernel にあてる e2compr パッチだが、一時配布元のページには kernel 2.2.3 のものしかないので、そのままあてると3、4箇所で reject される部分がある。ほとんどが defconfig なのだが… だもんで、kernel 2.2.5 との差分を固めて e2compr-0.4.29-patch-2.2.5.gz として置いておいた。
わははは。吉田さんにいただいた fumied-0.4-1.src.rpm をベースに仕上げてみた。
一応 /etc/sysconfig/network-scripts 以下のファイルや、rc.local、/sbin/ifup や /sbin/ifdown などに対して必要な変更もインストール時に自動的に行なうようにしてみたが、ifup などは極めてキモなので、なんだかよくわからない人は近づかないように。なにしろ踏み絵なんだし(笑)
rawhide 1.3.x では dhcpcd が使われなくなり、bootp/dhcp 兼用の pump というものに変わっている。それに伴なって initscripts の中身も大きく変わっているので、ifdhcpc-done の有無でその辺りを判別するように対応しておいた。
fumied は kernel 2.0.x 用、fumied2 は kernel 2.2.x 用だ。
gs5.50 なんだけど、FreeType に対応した VFlib2 のパッケージが必要だ。JRPM から持ってきて単に rebuild しただけで rawhide でも問題なく使えているので VFlib は置いてないけどね。
また、rawhide 1.3.x にも当然 ghostscript 5.10 が入っているのだが、ディレクトリの構成などが従来と大きく変わっている。よっぽど同じ構成に合わせようかとも思ったのだが、どうせまるごと差し替えるパッケージなので手を抜いてしまった。
だもんで、フォントの置いてある位置などが違い、ghostscript のパッケージだけ差し替えても動作しない。ghostscript-fonts-5.10jp を JRPM からもらってきて、もともと入っている ghostscript-fonts と置き換える前提なので注意。
GICQパッケージ。GTK+ 1.2.x が必要。_tom_さんのページにいってもらってこよう。オレもそれを使っている。libicq-0.32-1.src.rpm を先に入れておかないと動作しないので注意。
Kodak DC210から撮影済み画像を引っ張ってくるツール。GTK+ 1.0.x でも動作する。glibc 2.0 + libwcsmbs でも問題なし、だけど大部分の人には要らないね、コレ(笑)
_tom_さんに教えてもらった mp3 の ID3 TAG に書き込むツール。パッケージ猿と化してしまい、気がついたらパッケージにしていた(大笑い) EUC で構わず書き込んでいるが、問題なく読めている。あ、日本語のID3 TAG が表示できる x11amp は例によって_tom_さんのページからもらってこよう。
ちなんでしまうが、日本語ID3 TAG対応版の x11amp を使っても、デフォルトでは日本語が表示できるフォントを使ってくれないので ~/.x11amp/config の最後に
playinfo_font=-*-helvetica-medium-r-*-*-10-*,-*-dfmarugothic-medium-r-*--10-*-*-*-*-*-jisx0208.1983-0 playlist_font=-*-helvetica-bold-r-*-*-10-*,-*-dfmarugothic-bold-r-*--10-*-*-*-*-*-jisx0208.1983-0
などと追加している。dfmarugothic というのは DynaLAB の丸ゴシック。X-TT でない人は要町フォントを入れよう。10ポイントが限界で、それよりデカいのは表示エリアに収まらないぞ(笑)
glibc 2.0 + libwcsmbs 環境でも rebuild できるし動作もするが、その場合はおそらく slang 0.99.38 などの英語版が入っていて、mouseconfig だの timeconfig だので使っているだろうから、slang は slang_jp とリネームしてオリジナルと差し換わらないように配慮する必要がある。
また同時に jed や mutt などでは slang_jp に依存するように spec を書き換える必要があるだろう。
愛用の leafnode だが、すでにJamさんが leafnode+ というのを公開なさっていて、ぱぱんださんもご愛用との由。オレも遠からず使ってみようと思う。
バータリー極まるlocaledataの固まり(大笑い)
rawhide はバージョンアップが異様に速い -> glibc 2.1 のパッケージもガンガン上がるであろう -> 出たらきっと入れずにはいられぬ -> でもきっと localedef は日本語には対応しまい -> その都度チクチクlocaledataをコピーするのはメンドい -> glibc をrpm -Uvh したあとに追加で入れられるようにパッケージにしとけ
という気の遠くなるような六段論法を 8 ナノくらいで思いつき、ちょっと固めてみた(大笑い)
glibc 2.1.1 を入れてから、この localedata-ja-0.1 をブチ込めば、ja_JP.ujis でも ja_JP.EUC でも平和だ。
bttvgrab と一緒に使おう。それらしくMPEGな画像ファイルが作れるぞ。さぁカノプ〜のキャプチャカードを買いに走ろう!キミのLinux動画師匠ののいげろさんに入門だにょう(笑)
辞書鯖。愛用ね。
rawhide 1.3.x には knfsd が入っているんだけど、これがまた調子悪いのだ(泣)
ハードディスクを export して使うぶんには問題ないようなんだけど、CD-ROM とか jaz とかを autofs を介して export していると、nfs クライアントから一度でも mount しようもんなら、もうロックしちゃって放してくれやしねぇ凸(-_-#)
誰ぢゃい!ロックしてるのわ〜!!などと fuser で見てみりゃ kernel ちゃんがロックしてるし。そらそうだ、それがウリなんだもんな、knfsd の。使えね〜!
というわけで、赤帽 5.2 の方から nfs-server の SRPM を持ってきて、ムリムリ glibc 2.1 で rebuild した。ちょっとパッチが必要だったが、こっちは問題なく automount の expire に従って umount してくれる。
knfsd って kernel 空間で動くから速い、というハナシだけど、こちとらそんなにものスゲ〜量のリクエストをサバこうってワケじゃないからなぁ。いざ nfs がおかしい、という時でも kernel を止めるワケにもいかんし… しばらく knfsd は様子を見よう。
実は rawhide 1.3.2 や starbuck の egcs 1.1.2 よりも遅い実行モジュールを生成するのでわないか、と思われている疑惑の pgcc (笑) インストールすると gcc も egcs も pgcc への SymLink にしようとするので、egcs で rebuild し、egcs 関係を消してからインストールして使っている。
gcc はどうするのかって? rawhide には gcc は入っていないのだ。もともと egcs の SymLink なのだ(汗)
kernel 2.2.4 以降で問題になった listen() の第2引き数の問題も対処済み。
単に従来のを rebuild しただけ、なのだが、どうも procmail 3.10 は Maildir に対応してないようなのでずっとこっちを使っている。
ruby で書かれた skk鯖。ruby 1.2 以降が必要。
紅玉(笑)
Scanner Access Now Easy の頭文字らしいけど、なんか英語として変じゃないか?(汗)
でも快調に動いてるからよしとする。
もともとは_tom_さんにいただいた tar.bz2 対応の tar なのだが、rawhide 1.3.2 の tar-1.12-8 とマージしてリビジョンを上げただけ。
rawhide 1.3.2 の tcltk-8.0.4-28 に日本語化パッチをあててツジツマを合わせた。8.0.5 はまだ使ったこともないのでパス。
rebuild しただけ。焼け具合もグ〜。
_tom_さんのページからコソッと取ってきたXFree86+X-TT1.2.1をベースに xfs だけ作るようにしてある。FreeType が必要、なんだけど、rawhide 1.3.x には最初から入ってるからそれを使ってる。
メール | 戻る |