\ay日記
2004-08-13
_ rubygems調査
dh-make-perlに似たdh-make-rubyが欲しい気分なのでrubygemsとrpa-baseをぼちぼち調査してみようかと思い立つ。LL weekendで名前が出てきたrubygemsから。
rubygemsでライブラリやコマンドをインストールすると、それぞれの本体のファイルを/usr/lib/ruby/gems以下にバージョンごとに配置するようだ。その上でたとえば/usr/binとか/usr/local/lib/site_ruby以下には、配置されたファイルを読み込むようなラッパーをインストールする。アンインストールも可能*1。きもはラッパーでも使われているrequire_gemというメソッドで、これは要するに実体のライブラリをrequireするものなわけだけど、加えてライブラリのバージョン指定をできるようになっているようだ。このあたりの仕組みはstowにちょっと似ている。
インストールディレクトリは指定できないみたい。というか、インストール時にインストール先を指定できるのだけど、実際に指定してみるとrubygems用のデータディレクトリがその場所になり、前述のラッパーはやっぱり/usr/local/lib/site_rubyにできた。そりゃそうかという気もするが、いまいちすっきりしないとも言える。また、このようにしてしまうとアンインストールする簡単な方法がなくなってしまうように見える。環境変数GEM_HOMEで指定すればなんとかなるが。
dh-make-rubyで使用するにあたっては、このGEM_HOMEを設定してうんぬんするようなラッパーを作る感じになるだろうか*2。
さて、これをdebにした場合、ファイル配置はどうしたら良いだろう。/var以下に適当なディレクトリを作って、/usr/lib/ruby/gemsをとばしてしまえば十分だろうか。せいぜいそんなところかなという気もする(試しに作ったパッケージではそうした)。ruby1.6/ruby1.8/ruby1.9対応はどうしよう。それぞれにパッケージを作って、rubygems1.6/rubygems1.8/rubygems1.9/rubygemsという体制にするべきか。
_ UNIX USER 2004/09号
今月の特集はファイルシステムに問題が起きたときの実践的な対処法とLVMの詳しい解説で、どちらも意外とまとまった情報がなかったりするのでわりとうれしそう(分厚い本の中にはあるだろうけど)。
それからXULでのプログラミングというネタがもう一の特集。こっちはまだ読みかけなんだけど、知っておくと便利そうだと思いつつなかなか手が出なかったところなのでとても興味深い。
来月号はVine Linux 3.0とHTTPの深い話の二本立て。豪華執筆陣と聞いているのでとても楽しみ。
_ 今日一日
rpa-baseの調査も少ししたのだけど、debを作るのに思ったよりもてこずってしまい、ある程度形にしたところまでとなった。

![[入門] Debianパッケージ [入門] Debianパッケージ](/477412768X.jpg)