aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisty De Meo2012-05-19 19:57:56 -0500
committerMisty De Meo2012-06-01 09:24:25 -0500
commitd727f8b7f34d6d355bf64233cf49287012f457bc (patch)
tree5eb9eeb49fefca73caad3bc646e99a0e59366aaf
parent616a3fc051e33be76a06708985df66208a0d00e7 (diff)
downloadhomebrew-d727f8b7f34d6d355bf64233cf49287012f457bc.tar.bz2
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. Closes #12333. Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
-rw-r--r--Library/Contributions/brew_bash_completion.sh2
-rwxr-xr-xLibrary/Contributions/cmds/brew-server2
-rw-r--r--Library/Contributions/install_homebrew.rb2
-rw-r--r--Library/Formula/rrdtool.rb5
-rw-r--r--Library/Formula/rubinius.rb20
-rwxr-xr-xLibrary/Homebrew/build.rb2
-rw-r--r--Library/Homebrew/cmd/--config.rb6
-rw-r--r--Library/Homebrew/formula_installer.rb2
-rwxr-xr-xbin/brew2
9 files changed, 21 insertions, 22 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh
index 6261f7749..0e573f309 100644
--- a/Library/Contributions/brew_bash_completion.sh
+++ b/Library/Contributions/brew_bash_completion.sh
@@ -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"
diff --git a/Library/Contributions/cmds/brew-server b/Library/Contributions/cmds/brew-server
index bcc15c257..fe81ea64c 100755
--- a/Library/Contributions/cmds/brew-server
+++ b/Library/Contributions/cmds/brew-server
@@ -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.
diff --git a/Library/Contributions/install_homebrew.rb b/Library/Contributions/install_homebrew.rb
index 32099946f..3cf4f2f1c 100644
--- a/Library/Contributions/install_homebrew.rb
+++ b/Library/Contributions/install_homebrew.rb
@@ -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.
diff --git a/Library/Formula/rrdtool.rb b/Library/Formula/rrdtool.rb
index 9a02ee556..ece3c4cb3 100644
--- a/Library/Formula/rrdtool.rb
+++ b/Library/Formula/rrdtool.rb
@@ -28,13 +28,14 @@ class Rrdtool < Formula
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
diff --git a/Library/Formula/rubinius.rb b/Library/Formula/rubinius.rb
index 1310364d5..0cc1894f5 100644
--- a/Library/Formula/rubinius.rb
+++ b/Library/Formula/rubinius.rb
@@ -20,18 +20,20 @@ class Rubinius < Formula
# Set to stop Rubinius messing with our prefix.
ENV["RELEASE"] = "1"
- system "/usr/bin/ruby", "./configure",
- "--skip-system", # download and use the prebuilt LLVM
- "--bindir", bin,
- "--prefix", prefix,
- "--includedir", "#{include}/rubinius",
- "--libdir", lib,
- "--mandir", man, # For completeness; no manpages exist yet.
- "--gemsdir", "#{lib}/rubinius/gems"
+ 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,
+ "--includedir", "#{include}/rubinius",
+ "--libdir", lib,
+ "--mandir", man, # For completeness; no manpages exist yet.
+ "--gemsdir", "#{lib}/rubinius/gems"
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)
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb
index f72633ffa..9ba49ba3f 100755
--- a/Library/Homebrew/build.rb
+++ b/Library/Homebrew/build.rb
@@ -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
diff --git a/Library/Homebrew/cmd/--config.rb b/Library/Homebrew/cmd/--config.rb
index abe247cad..5fb455d23 100644
--- a/Library/Homebrew/cmd/--config.rb
+++ b/Library/Homebrew/cmd/--config.rb
@@ -91,10 +91,7 @@ module Homebrew extend self
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 @@ module Homebrew extend self
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}
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index 2e57be44a..338bd4771 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -195,7 +195,7 @@ class FormulaInstaller
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',
'--',
diff --git a/bin/brew b/bin/brew
index ac713539c..51e019e1c 100755
--- a/bin/brew
+++ b/bin/brew
@@ -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__)