diff options
| author | Misty De Meo | 2012-05-19 19:57:56 -0500 |
|---|---|---|
| committer | Misty De Meo | 2012-06-01 09:24:25 -0500 |
| commit | d727f8b7f34d6d355bf64233cf49287012f457bc (patch) | |
| tree | 5eb9eeb49fefca73caad3bc646e99a0e59366aaf | |
| parent | 616a3fc051e33be76a06708985df66208a0d00e7 (diff) | |
| download | homebrew-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.sh | 2 | ||||
| -rwxr-xr-x | Library/Contributions/cmds/brew-server | 2 | ||||
| -rw-r--r-- | Library/Contributions/install_homebrew.rb | 2 | ||||
| -rw-r--r-- | Library/Formula/rrdtool.rb | 5 | ||||
| -rw-r--r-- | Library/Formula/rubinius.rb | 20 | ||||
| -rwxr-xr-x | Library/Homebrew/build.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/--config.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 2 | ||||
| -rwxr-xr-x | bin/brew | 2 |
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', '--', @@ -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__) |
