Permalink
Browse files

Replace /usr/bin/ruby with full Framework path

Rationale: some users insist on replacing the /usr/bin/ruby symlink
to point to another ruby on their system, which may break homebrew.
Use the full Framework path instead, which is less likely to be tampered with.

This also reorganizes the brew --config checks to reflect the different path.

Fixes #12009.
  • Loading branch information...
1 parent bad8e1f commit db1c24648d21f22c4f1cbe1c8d6551ec9627ba69 @mistydemeo committed May 20, 2012
@@ -95,7 +95,7 @@ __brew_complete_tapped ()
__brew_complete_taps ()
{
if [[ -z "$__brew_cached_taps" ]]; then
- __brew_cached_taps="$(/usr/bin/ruby -e '
+ __brew_cached_taps="$(/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -e '
require "open-uri"
require "yaml"
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
## brew server: Run a local webserver for browsing available and installed brews.
# Note: this external command is ruby, but set up as a shell script, so that it gets exec'd.
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
# This script installs to /usr/local only. To install elsewhere you can just
# untar https://github.com/mxcl/homebrew/tarball/master anywhere you like.
@@ -28,13 +28,14 @@ def install
which_perl = which 'perl'
which_ruby = which 'ruby'
+ ruby_path = "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby"
- opoo "Using system Ruby. RRD module will be installed to /Library/Ruby/..." if which_ruby == "/usr/bin/ruby"
+ opoo "Using system Ruby. RRD module will be installed to /Library/Ruby/..." if which_ruby.realpath == ruby_path
opoo "Using system Perl. RRD module will be installed to /Library/Perl/..." if which_perl == "/usr/bin/perl"
args = ["--disable-dependency-tracking", "--prefix=#{prefix}", "--mandir=#{man}"]
args << "--enable-perl-site-install" if which_perl == "/usr/bin/perl"
- args << "--enable-ruby-site-install" if which_ruby == "/usr/bin/ruby"
+ args << "--enable-ruby-site-install" if which_ruby.realpath == ruby_path
system "./configure", *args
@@ -20,7 +20,9 @@ def install
# Set to stop Rubinius messing with our prefix.
ENV["RELEASE"] = "1"
- system "/usr/bin/ruby", "./configure",
+ ruby = "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby"
+
+ system ruby, "./configure",
"--skip-system", # download and use the prebuilt LLVM
"--bindir", bin,
"--prefix", prefix,
@@ -31,7 +33,7 @@ def install
ohai "config.rb", File.open('config.rb').to_a if ARGV.debug? or ARGV.verbose?
- system "/usr/bin/ruby", "-S", "rake", "install"
+ system ruby, "-S", "rake", "install"
# Remove conflicting command aliases
bin.children.select(&:symlink?).each(&:unlink)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
# This script is called by formula_installer as a separate instance.
# Rationale: Formula can use __END__, Formula can change ENV
@@ -91,10 +91,7 @@ def dump_build_config
puts hardware
puts "MacOS: #{MACOS_FULL_VERSION}-#{kernel}"
puts "Xcode: #{xcode_version}"
- puts "/usr/bin/ruby: #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}" if RUBY_VERSION.to_f != 1.8
-
- ruby = Pathname.new("/usr/bin/ruby")
- puts "/usr/bin/ruby => #{ruby.realpath}" unless ruby.realpath.to_s =~ %r{^/System}
+ puts "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby:\n #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}" if RUBY_VERSION.to_f != 1.8
ponk = macports_or_fink_installed?
puts "MacPorts/Fink: #{ponk}" if ponk
@@ -119,7 +116,6 @@ def config_s; <<-EOS.undent
MacPorts or Fink? #{macports_or_fink_installed?}
X11: #{describe_x11}
System Ruby: #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}
- /usr/bin/ruby => #{real_path("/usr/bin/ruby")}
Which Perl: #{describe_perl}
Which Python: #{describe_python}
Which Ruby: #{describe_ruby}
@@ -195,7 +195,7 @@ def build
begin
read.close
exec '/usr/bin/nice',
- '/usr/bin/ruby',
+ '/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby',
'-I', Pathname.new(__FILE__).dirname,
'-rbuild',
'--',
View
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
# -*- coding: utf-8 -*-
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] = File.expand_path(__FILE__)

0 comments on commit db1c246

Please sign in to comment.