パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

RoR開発者の生の声を聞ける「Ruby on Rails Summer Festival 2008」」記事へのコメント

  • by Anonymous Coward
    最近RoR始めたんだけど、標準のデータベースsqlite3がうまく扱えなかった。
    原因は、sqlite3-rubyのGEMのパーミッションが腐ってる [blogspot.com]からだった。
    いくらなんでも、品質悪過ぎ。
    #RoRが悪いわけじゃないけど。
    • by Anonymous Coward on 2008年07月16日 19時15分 (#1384645)
      うちのsqlite3-ruby-1.2.2だと

      Leopard(Rubyは/usr/local/に自分で入れたもの)で、
      -rw-rw-rw- 1 root wheel 24774 2008-06-24 18:27 database.rb
      -rw-rw-rw- 1 root wheel 3738 2008-06-24 18:27 translator.rb

      CentOS 5.2(Rubyは〃)で
      -rw-r--r-- 1 root root 24774 2008-06-19 02:58 database.rb
      -rw-r--r-- 1 root root 3738 2008-06-19 02:58 translator.rb

      なんだけどなー。

      何が違うんでしょうね。

      umask?

      親コメント
      • Re:sqlite3-ruby (スコア:3, 参考になる)

        by keita (844) on 2008年07月16日 20時40分 (#1384686) 日記
        RubyGems の実体は単純な tar アーカイブで、この中に含まれている data.tar.gz を展開することで各ファイルを作成しています。それで、tar の展開は自前でやっているようなのですが、この際 umask は無視して data.tar.gz に記録されているパーミッション情報をそのまま利用します(詳細は rubygems/package/tar_input.rb をご覧下さい)。

        そのようなわけでパーミッション設定がおかしいのは、umask は関係なく、sqlite3-ruby の gem がおかしいからです。1.2.2 の gem を tar で展開して data.tar.gz を見れば確認できると思います。1.2.1 の gem のパーミッション設定は普通なので、単純なパッケージングミスではないでしょうか。

        で、ACさんが挙げておられます Leopard と CentOS 5.2 の例に関しては、なんででしょうかね。バージョンが 1.2.2 ではないとか、gem からインストールしてないとかではないでしょうか。
        親コメント
        • Re:sqlite3-ruby (スコア:1, 興味深い)

          by Anonymous Coward on 2008年07月16日 22時38分 (#1384765)
          #1384645のACです。

          気になるので、CentOS 5.2のほうでsqlite3-rubyを入れ直してみました。

          $ which ruby
          /usr/local/bin/ruby
          $ which gem
          /usr/local/bin/gem
          $ ruby --version
          ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-linux]
          $ gem --version
          1.2.0
          $ sudo gem uninstall sqlite3-ruby
          sudo gem uninstall sqlite3-ruby
          Password:
          Successfully uninstalled sqlite3-ruby-1.2.2
          $ sudo gem install sqlite3-ruby
          Building native extensions. This could take a while...
          Successfully installed sqlite3-ruby-1.2.2
          1 gem installed
          Installing ri documentation for sqlite3-ruby-1.2.2...
          Installing RDoc documentation for sqlite3-ruby-1.2.2...
          $ ls -l /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2/lib/sqlite3

          :
          -rw-rw--w- 1 root root 24774 2008-07-16 22:33 database.rb
          :
          -rw-rw--w- 1 root root 3738 2008-07-16 22:33 translator.rb
          :

          見事に問題が再現しました。
          以前なぜ読めてたんだろうなぁ。謎です。
          親コメント

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

処理中...