Set HOMEBREW_DEBUG_INSTALL when in a shell during install -d|-i

When an "install -d formula" fails, and the user gets dropped into an
interactive shell, set the HOMEBREW_DEBUG_INSTALL env var to the name
for the formula that failed. Also set variable if the user requests an
interactive install in the first place.

Note that this may be different than the formula being installed, since
it may have been a dep that failed.

Also remove todo in utils; users can now look for HOMEBREW_DEBUG_INSTALL
in their prompt command, and adjust their prompts accordingly.
This commit is contained in:
Adam Vandenberg 2010-06-11 17:18:05 -07:00
parent a8f29fb102
commit 8af39f115c
3 changed files with 3 additions and 7 deletions

View File

@ -215,6 +215,7 @@ class Formula
puts "If nothing is installed or the shell exits with a non-zero error code,"
puts "Homebrew will abort. The installation prefix is:"
puts prefix
ENV['HOMEBREW_DEBUG_INSTALL'] = name
interactive_shell
end
end

View File

@ -85,6 +85,7 @@ def install f
puts "to copy the diff to the clipboard."
end
ENV['HOMEBREW_DEBUG_INSTALL'] = f.name
interactive_shell
nil
elsif ARGV.include? '--help'

View File

@ -47,13 +47,7 @@ def pretty_duration s
end
def interactive_shell
fork do
# TODO make the PS1 var change pls
#brown="\[\033[0;33m\]"
#reset="\[\033[0m\]"
#ENV['PS1']="Homebrew-#{HOMEBREW_VERSION} #{brown}\W#{reset}\$ "
exec ENV['SHELL']
end
fork {exec ENV['SHELL'] }
Process.wait
unless $?.success?
puts "Aborting due to non-zero exit status"