保科です。 On Mon, Nov 09, 1998 at 06:46:22PM +0900, Yukihiro Matsumoto <matz / netlab.co.jp> wrote: > まつもと ゆきひろです > > サブジェクトの通りです.1ヵ月ぶりですね. 早速、赤帽5.1以降用にrpm化してみたのですが、1.1c6とc7では instruby.rbが変更されているようで、そのままではうまくパッケージが 作れませんでした。 結局、1.1c6とc7のinstruby.rbのいいとこどりをするような感じのパッチ をあてて回避してしまったのですが… rbconfig.rb にズラッと書いてある CONFIG["exec_prefix"] = "#{CONFIG[\"prefix\"]}" という上記のような書式なのですが、これが働いていなくて(というか、 評価が終わってしまっている感じ)上記の例でいうと、prefixになにか 代入しても、exec_prefixの値が変化しません。 make prefix=hogehoge install などと明示してhogehogeにinstall させようとしても、頑固に/usr/local などにブチ込もうとします。 また、shared libでmakeしているのですが、libruby.so を/usr/local/lib/ruby などの、rubyのadd onと同じディレクトリに入れようとします。普通は こういうディレクトリはldconfigは見にこないと思うので、まずいような。 1.1c6の時と同じように、/usr/lib に入れるようにしてしまいました。 赤帽的には/usr/local/libはあまり使わないもので。 librubyをsharedでなくmakeし、rootで一発インストールする場合はきっと 問題はでないでしょうけれど… ruby-jedのためにlibruby.soがどうしても必要ですし、rpmというパッケージ の作成過程の都合で、どうしても1回、configureで指定したのとは別の ディレクトリにprefixなどを使ってインストールせざるを得ないのです。 ひょっとして、なにか深いワケがあって、instruby.rbを改修したので なければよいのですが… diff -uNr ruby-1.1c7/instruby.rb~ ruby-1.1c7/sample/instruby.rb --- ruby-1.1c7/instruby.rb~ Sun Oct 18 23:01:02 1998 +++ ruby-1.1c7/instruby.rb Fri Nov 13 00:54:21 1998 @@ -13,10 +13,10 @@ prefix = CONFIG["prefix"] end ruby_install_name = CONFIG["ruby_install_name"] -bindir = CONFIG["bindir"] -libdir = CONFIG["libdir"] + "/" + ruby_install_name +bindir = prefix + "/bin" +libdir = prefix + "/lib/" + ruby_install_name archdir = libdir+"/"+CONFIG["arch"] -mandir = CONFIG["mandir"] + "/man1" +mandir = prefix + "/man/man1" wdir = Dir.getwd File.makedirs bindir, TRUE @@ -25,10 +25,10 @@ for dll in Dir['*.dll'] File.install dll, "#{bindir}/#{dll}", 0755, TRUE end -File.makedirs "#{libdir}", TRUE +File.makedirs "#{prefix}/lib", TRUE for lib in ["libruby.so", "libruby.so.LIB"] if File.exist? lib - File.install lib, "#{libdir}", 0644, TRUE + File.install lib, "#{prefix}/lib", 0644, TRUE end end File.makedirs libdir, TRUE -- Toru Hoshina Network Associates,Inc. Pacific Rim, Software Engineer. http://www.best.com/~hoshina PGP fingerprint : 95 73 1C 26 C6 9E 28 86 BA 32 34 CA FC 9B DC 6D