From 7a7591534538bca80fef0a2b4cbcf16c4d0052de Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 28 Sep 2012 09:12:15 -0400 Subject: [PATCH] Only handle build-errors when it's a build-error Refs Homebrew/homebrew#15164. --- Library/Homebrew/cmd/--config.rb | 7 +++++++ Library/Homebrew/formula.rb | 33 ++++++++++++++------------------ 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Library/Homebrew/cmd/--config.rb b/Library/Homebrew/cmd/--config.rb index 281b310cde..f72cbedffa 100644 --- a/Library/Homebrew/cmd/--config.rb +++ b/Library/Homebrew/cmd/--config.rb @@ -112,6 +112,13 @@ module Homebrew extend self puts "X11: #{describe_x11}" end + def write_build_config f + $f = f + def Homebrew.puts(*foo); $f.puts(*foo); end + Homebrew.dump_build_config + class << Homebrew; undef :puts; end + end + def dump_verbose_config puts "HOMEBREW_VERSION: #{HOMEBREW_VERSION}" puts "HEAD: #{head}" diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 15acff3cd7..5ba20b473a 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -542,29 +542,24 @@ protected f.write(rd.read) until rd.eof? Process.wait - raise unless $?.success? + + unless $?.success? + unless ARGV.verbose? + f.flush + Kernel.system "/usr/bin/tail -n 5 #{logfn}" + end + f.puts + require 'cmd/--config' + Homebrew.write_build_config(f) + raise BuildError.new(self, cmd, args, $?) + end end - removed_ENV_variables.each do |key, value| - ENV[key] = value # ENV.kind_of? Hash # => false - end if removed_ENV_variables - - rescue - if f - f.flush - Kernel.system "/usr/bin/tail -n 5 #{logfn}" unless ARGV.verbose? - require 'cmd/--config' - $f = f - def Homebrew.puts(*foo); $f.puts *foo end - f.puts - Homebrew.dump_build_config - class << Homebrew; undef :puts end - else - puts "No logs recorded :(" unless ARGV.verbose? - end - raise BuildError.new(self, cmd, args, $?) ensure f.close if f + removed_ENV_variables.each do |key, value| + ENV[key] = value + end if removed_ENV_variables end public