reinstall/upgrade/install: always output options.

This is both easier for debugging and to communicate with users what is
being done.
This commit is contained in:
Mike McQuaid 2016-12-10 13:07:03 +00:00
parent f02491180b
commit e347f7ade3
4 changed files with 17 additions and 18 deletions

View File

@ -20,19 +20,15 @@ module Homebrew
end end
def reinstall_formula(f) def reinstall_formula(f)
options = BuildOptions.new(Options.create(ARGV.flags_only), f.options).used_options
options |= f.build.used_options
options &= f.options
notice = "Reinstalling #{f.full_name}"
notice += " with #{options * ", "}" unless options.empty?
oh1 notice
if f.opt_prefix.directory? if f.opt_prefix.directory?
keg = Keg.new(f.opt_prefix.resolved_path) keg = Keg.new(f.opt_prefix.resolved_path)
backup keg backup keg
end end
options = BuildOptions.new(Options.create(ARGV.flags_only), f.options).used_options
options |= f.build.used_options
options &= f.options
fi = FormulaInstaller.new(f) fi = FormulaInstaller.new(f)
fi.options = options fi.options = options
fi.build_bottle = ARGV.build_bottle? || (!f.bottled? && f.build.build_bottle?) fi.build_bottle = ARGV.build_bottle? || (!f.bottled? && f.build.build_bottle?)
@ -43,6 +39,9 @@ module Homebrew
fi.verbose = ARGV.verbose? fi.verbose = ARGV.verbose?
fi.debug = ARGV.debug? fi.debug = ARGV.debug?
fi.prelude fi.prelude
oh1 "Reinstalling #{f.full_name} #{options.to_a.join " "}"
fi.install fi.install
fi.finish fi.finish
rescue FormulaInstallationAlreadyAttemptedError rescue FormulaInstallationAlreadyAttemptedError

View File

@ -104,7 +104,7 @@ module Homebrew
fi.debug = ARGV.debug? fi.debug = ARGV.debug?
fi.prelude fi.prelude
oh1 "Upgrading #{f.full_specified_name}" oh1 "Upgrading #{f.full_specified_name} #{fi.options.to_a.join " "}"
# first we unlink the currently active keg for this formula otherwise it is # first we unlink the currently active keg for this formula otherwise it is
# possible for the existing build to interfere with the build we are about to # possible for the existing build to interfere with the build we are about to

View File

@ -219,16 +219,16 @@ class FormulaInstaller
opoo "#{formula.full_name}: this formula has no #{option} option so it will be ignored!" opoo "#{formula.full_name}: this formula has no #{option} option so it will be ignored!"
end end
oh1 "Installing #{Formatter.identifier(formula.full_name)}" if show_header? options = []
if formula.head?
options << "--HEAD"
elsif formula.devel?
options << "--devel"
end
options += effective_build_options_for(formula).used_options.to_a
oh1 "Installing #{Formatter.identifier(formula.full_name)} #{options.join " "}" if show_header?
if formula.tap && !formula.tap.private? if formula.tap && !formula.tap.private?
options = []
if formula.head?
options << "--HEAD"
elsif formula.devel?
options << "--devel"
end
options += effective_build_options_for(formula).used_options.to_a
category = "install" category = "install"
action = ([formula.full_name] + options).join(" ") action = ([formula.full_name] + options).join(" ")
Utils::Analytics.report_event(category, action) Utils::Analytics.report_event(category, action)

View File

@ -8,7 +8,7 @@ class IntegrationCommandTestReinstall < IntegrationCommandTestCase
foo_dir = HOMEBREW_CELLAR/"testball/0.1/foo" foo_dir = HOMEBREW_CELLAR/"testball/0.1/foo"
assert foo_dir.exist? assert foo_dir.exist?
foo_dir.rmtree foo_dir.rmtree
assert_match "Reinstalling testball with --with-foo", assert_match "Reinstalling testball --with-foo",
cmd("reinstall", "testball") cmd("reinstall", "testball")
assert foo_dir.exist? assert foo_dir.exist?
end end