Debian Ruby 1.9 会議に参加してきた

Debian Ruby 1.9 会議という集まりに参加してきた。(参考: http://arika.org/diary/2009/06/04/DebianRuby19Kaigi)
DebianRuby、ともに仕事でもプライベート環境でも頼っている都合上、今後のパッケージングがどうなるかとか、RubyGemsDebian Package の共存(あるいは連携)がどうなりそうなのかに興味があったので、参加してみた次第。
以下、会議中のメモのまとめ。事実誤認があったらごめんなさい。

  • lenny に ruby1.9 が入ってしまったのは事故
    • 入れるつもりは無かったが、依存関係の都合で抜けなくなった。 (やまだあきらさん)
    • 仕様が確定する前のバージョンなので使って欲しくない。(yugui さん)
  • sid に 1.9.1 が入らない理由
    • $LOAD_PATH に /usr/lib/ruby/1.9.1 のような teeny を含んだパスが入るようになり、今後 1.9.2、1.9.3 と増えていくと、バージョンが上がるたびに全ライブラリのリビルドが必要になってしまう。ユーザ側の移行作業もたいへん。そこら辺を何とかする方法を考える必要があった。
    • ところで 1.9.1 使ってます?
      • experimental のをビルドしてる、ruby1.9 を使ってた、使ってない、etc.
  • Ruby の compatibility level
    • 1.9 系には compatibility level というバージョン概念がある。(yugui さん)
    • 1.9.2 は 1.9.1 と ABI 互換なので、リリース時は soname や /usr/lib/ruby/X.X.X の部分のバージョン番号は 1.9.1 のままになる。(未実装かも?)
  • Ruby 本体の互換性
    • Ruby の teeny 違いは Python の minor version 違いくらいに相当 (yugui さん)
    • 非互換性に関する注意が deb package のドキュメントにも欲しい。(NEWS.Debian?)
    • 1.9.2 では Time と Socket がわりと変わる。
  • lucas さんによる新しい Debian Ruby Policy の提案。(debian-ruby ML のこの辺りのスレッド)
    • ruby-support というパッケージを作り、python-support のようなことをやりたい。
      • Ruby の実装/バージョンごとにディレクトリを作って symlink を貼りまくる。
    • ruby-support パッケージに依存し過ぎでは?
    • バージョン依存性などの問題にぶつかった時、ユーザ側で何かするのが難しそう。
    • Dmitry Borodaenko さんの意見「Pure Ruby ライブラリはバージョン番号なしの /usr/lib/ruby/vendor_ruby に入れるのが現実的」、というのに個人的に賛同。
    • ruby-support がポリシー先行で実装が追いついてない? 実際に動かしてみないとよく分からない。(やまだあきらさん)
    • sid に 1.9.1 を入れるのは、ruby-support を待たない方針で。(daigo さん)
  • gem から自動で deb を作る方法があると嬉しい
    • 過去に作ったけどあまり反響がない。(やまだあきらさん、daigo さん)
    • ユーザが gem から deb をビルドすることを支援するツールが欲しい。
      • dh-make-perl みたいなの。
      • ユーザが実行すると gem をダウンロードして展開して debian ディレクトリを作成してくれて、後は debian/control を各自でいじって debuild しろ、みたいな。
  • rubygems パッケージが gcc や ruby1.8-dev に Depends?
    • ruby1.8-dev に依存したところで、gem のバイナリビルドはたぶん失敗する。その他の依存ライブラリ(libXXX-dev)を解決する方法が無いので。
    • Depends にしても嬉しくない。Recommends もやり過ぎ。やっぱり Suggests で。
  • gem install で作られた実行ファイルを /usr/local/bin に入れるのはどう?
    • ファイル名の衝突を解決できない。(1.8 系と 1.9 系とか)
    • tarball から入れたものとぶつかりそう。
    • /var/lib/gems/X.X/bin から /usr/local/bin へ symlink を貼るようなスクリプトを例示しておいて「気になるならそれを使え」というのはどうか。
  • JRubyRubyGems ってどうなってるの?
    • JRuby で独自にやってる。
      • Debianjruby パッケージでどうなってるかは未確認。
    • Debianrubygems パッケージは MRI/CRuby のみが対象。
  • 1.8 系のパフォーマンスの話
    • configure で --enable-pthread すると遅くなるらしい。
    • 1.9 系には関係ない話。1.8 系に手間をかけても仕方ないので、現状維持で。
    • Ruby Enterprise Edition とかどう?
      • 1.8.6 をベースに GC や memory allocator をいじってあり、Rails では速くなるようだけど、平均的には遅くなる。(yugui さん)

最後に、有志による keysign 交換が行なわれて解散。