From ff7e65eb845069ab1d865b61e6fe8a989c41c800 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 21 Jan 2003 08:03:05 +0000 Subject: * instruby.rb: use real interpreter pathname at shebang line. [ruby-dev:19370] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- instruby.rb | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) (limited to 'instruby.rb') diff --git a/instruby.rb b/instruby.rb index 89390f949a..07f7aff507 100644 --- a/instruby.rb +++ b/instruby.rb @@ -51,7 +51,9 @@ arc = CONFIG["LIBRUBY_A"] makedirs [bindir, libdir, rubylibdir, archlibdir, sitelibdir, sitearchlibdir] -install ruby_install_name+exeext, File.join(bindir, ruby_install_name+exeext), 0755 +ruby_bin = File.join(bindir, ruby_install_name) + +install ruby_install_name+exeext, ruby_bin+exeext, 0755 if rubyw_install_name and !rubyw_install_name.empty? install rubyw_install_name+exeext, bindir, 0755 end @@ -83,32 +85,39 @@ for src in Dir["bin/*"] install src, dest, 0755 + next if $dryrun + + shebang = '' + body = '' open(dest, "r+") { |f| - shebang = f.gets.sub(/ruby/, ruby_install_name) + shebang = f.gets body = f.read - f.rewind - f.print shebang, body - f.truncate(f.pos) - f.close + if shebang.sub!(/^\#!.*?ruby\b/) {"#!" + ruby_bin} + f.rewind + f.print shebang, body + f.truncate(f.pos) + end + } - if RUBY_PLATFORM =~ /mswin32|mingw|bccwin32/ - open(dest + ".bat", "w") { |b| - b.print <