diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index 7a5e55fea0..532e5b611d 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -95,7 +95,7 @@ def info name require 'formula' user='' - user=`git config --global github.user`.chomp if system "which git > /dev/null" + user=`git config --global github.user`.chomp if system "/usr/bin/which -s git" user='mxcl' if user.empty? # FIXME it would be nice if we didn't assume the default branch is master history="http://github.com/#{user}/homebrew/commits/master/Library/Formula/#{Formula.path(name).basename}" diff --git a/Library/Homebrew/brewkit.rb b/Library/Homebrew/brewkit.rb index 132bda851e..91ea9fa644 100644 --- a/Library/Homebrew/brewkit.rb +++ b/Library/Homebrew/brewkit.rb @@ -187,5 +187,5 @@ def inreplace(path, before, after) after.gsub! "$", "\\$" # FIXME use proper Ruby for teh exceptions! - safe_system "perl", "-pi", "-e", "s/#{before}/#{after}/g", path + safe_system "/usr/bin/perl", "-pi", "-e", "s/#{before}/#{after}/g", path end diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 0c89c1f2b0..58e5b197b5 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -51,11 +51,11 @@ class HttpDownloadStrategy \033[0;0;1m #{title}\033[0;0m" puts *sput unless sput.empty? end @@ -59,12 +59,12 @@ end # Kernel.system but with exceptions def safe_system cmd, *args puts "#{cmd} #{args*' '}" if ARGV.verbose? - exec_success=Kernel.system cmd, *args + exec_success = Kernel.system cmd, *args # some tools, eg. tar seem to confuse ruby and it doesn't propogate the # CTRL-C interrupt to us too, so execution continues, but the exit code os # still 2 so we raise our own interrupt raise Interrupt, cmd if $?.termsig == 2 - unless exec_success and $?.success? + unless exec_success puts "Exit code: #{$?}" raise ExecutionError.new(cmd, args) end @@ -75,23 +75,23 @@ def curl *args end def puts_columns items, cols = 4 - items = items.join("\n") if items.is_a?(Array) - items.concat("\n") unless items.empty? if $stdout.tty? - width=`stty size`.chomp.split(" ").last - IO.popen("pr -#{cols} -t", "w"){|io| io.write(items) } + items = items.join("\n") if items.is_a?(Array) + items.concat("\n") unless items.empty? + width=`/bin/stty size`.chomp.split(" ").last + IO.popen("/usr/bin/pr -#{cols} -t", "w"){|io| io.write(items) } else - items.each { |i| $stdout.write(i) } + puts *items end end def exec_editor *args editor=ENV['EDITOR'] if editor.nil? - if system "which -s mate" and $?.success? + if system "/usr/bin/which -s mate" editor='mate' else - editor='vim' + editor='/usr/bin/vim' end end # we split the editor because especially on mac "mate -w" is common @@ -103,9 +103,9 @@ end # provide an absolute path to a command or this function will search the PATH def arch_for_command cmd archs = [] - cmd = `which #{cmd}` if not Pathname.new(cmd).absolute? + cmd = `/usr/bin/which #{cmd}` if not Pathname.new(cmd).absolute? - IO.popen("file #{cmd}").readlines.each do |line| + IO.popen("/usr/bin/file #{cmd}").readlines.each do |line| case line when /Mach-O executable ppc/ archs << :ppc7400 diff --git a/bin/brew b/bin/brew index 5664ee5a74..465d928c75 100755 --- a/bin/brew +++ b/bin/brew @@ -11,20 +11,20 @@ if %w[/ /usr].include? HOMEBREW_PREFIX.to_s then abort <<-EOS #{HOMEBREW_WWW} EOS end -if `sw_vers -productVersion` =~ /10\.(\d)\.(\d+)/ and $1.to_i < 5 # remove MacPorts and Fink from the PATH, this prevents issues like: # http://github.com/mxcl/homebrew/issues/#issue/13 # http://github.com/mxcl/homebrew/issues/#issue/48 fix_PATH +if `/usr/bin/sw_vers -productVersion` =~ /10\.(\d)\.(\d+)/ and $1.to_i < 5 onoe "Homebrew requires Leopard or higher" abort "But thanks for your interest anyway!" end if Hardware.cpu_type == :ppc or Hardware.cpu_type == :dunno abort "Sorry, Homebrew does not support your computer's CPU architecture." end -unless system "which -s gcc-4.2" and $?.success? +unless system "/usr/bin/which -s gcc-4.2" abort "Sorry, Homebrew requires gcc 4.2, which is provided by Xcode 3.1" end @@ -94,7 +94,7 @@ begin end unless ARGV.force? - unless system "which #{ENV['CC'] or 'cc'} &> /dev/null" and $?.success? + unless system "/usr/bin/which -s #{ENV.cc}" raise "We cannot find a c compiler, have you installed the latest Xcode?" end formulae = ARGV.formulae.reject do |f|