保科です。

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