gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

rpmって…いるのか?

前置き。「いらねぇ」って基準で書いてますので偏見バリバリばりぅですw
その辺の色眼鏡に注意しつつ読んでください。


rpmは、面倒な依存関係などをちゃんとチェックしてくれる、とても便利なバージョン管理システムです。
自分のディストリビュートにあわせてコンパイルされたバイナリが簡単にインストールできます。


…ってかくといかにも楽そうなんですがね。
中身は「落とし穴がいっぱいめいっぱい山盛り君」です。


たとえば。
RPMがお好きな方から教わった、こちらのサイトがあります。
http://rpm.pbone.net/
野良とはいえ、比較的様々なRPMを網羅しています。
今回。あなたは mcrypt をインストールしたいとしませう。
さぁ早速検索です。すぐに見つかるはずです見つかります。
http://rpm.pbone.net/index.php3?stat=3&limit=1&srodzaj=1&dl=40&search=mcrypt&dist=47&dist=44&dist=41&dist=37&dist=31&dist=32&dist=1&dist=28&dist=2&dist=3&dist=4&dist=5&dist=7&dist=52&dist=42&dist=36&dist=35&dist=11&dist=12&dist=49&dist=45&dist=34&dist=13&dist=14&dist=15&dist=17&dist=18&dist=46&dist=48&dist=33&dist=19&dist=20&dist=23&dist=24&dist=25&dist=26&dist=27&dist=29&dist=30&dist=38&dist=39&dist=40&dist=43&dist=50&field=1&field=2


…山盛りです orz
ちなみに。このたびinstallしたのはCentOSのバージョン5です。
問題です。どれ使えばいいでせう?
RPMがお好きな方からの答え。
http://ftp.kddilabs.jp/Linux/packages/fedora/extras/5/SRPMS/

mcrypt-2.6.4-2.fc5.src.rpm
を使ってくれ、との事。
………えっと?
ちなみに。これをコンパイルしようとすると
libmcrypt-devel is needed by mcrypt-2.6.4-2.x86_64
mhash-devel is needed by mcrypt-2.6.4-2.x86_64
zlib-devel is needed by mcrypt-2.6.4-2.x86_64
とか言われ。以下略(ってかまぢで。libtoolのsrc rpmってどこにあるのよ?)。


もちろん慣れの問題とかもあるのですが。
基本、tar ballなら「どこに行っても同じソースがげとれる」です。
でも、RPMだと「ディストリビューション毎に違って」「しかもバイナリだから取ってくる場所にも気ぃ使って」「どんなコンパイルされてるかももう一つ不明で」以下略。
面倒だったらありゃしない。


んで…こっからは結構なへんけ〜んになるのですが。


そも。「プログラムでごにょごにょしないと依存関係がわからなくなる」ような依存関係、作っちゃいかんと思うですよ。
人間がすぐに理解できる程度にシンプルな、上から下へ流れるような依存関係。それがベストなんぢゃないでしょうか?
だいたいバージョン古い事が多いし最新には滅多に対応してないし。


多分、唯一にして最大のRPMのメリットは「確実なアンインストールが出来る」くらい。
ちっちゃくはないんだけど…でもやぱしほかのデメリットと天秤すると、俺的には「使いたくねぇ」になってしまうです。


…って話を、愚痴でならmixiでかくですが。
もしかすると「江戸っ子だねぇrpm使いねぇ」って人が出てくるかなぁ…とか思い、ここに書いてみたりしますw