reinstall: don't build bottles unnecessarily.
Apply the same changes from #6066. Also apply the same logics from `brew upgrade` to preserve `installed_as_dependency`/`installed_on_request` settings when reinstalling formulae.
This commit is contained in:
parent
e18c5c1291
commit
1dfdc5c2ec
@ -10,6 +10,7 @@ module Homebrew
|
||||
def reinstall_formula(f, build_from_source: false)
|
||||
if f.opt_prefix.directory?
|
||||
keg = Keg.new(f.opt_prefix.resolved_path)
|
||||
tab = Tab.for_keg(keg)
|
||||
keg_had_linked_opt = true
|
||||
keg_was_linked = keg.linked?
|
||||
backup keg
|
||||
@ -22,11 +23,16 @@ module Homebrew
|
||||
|
||||
fi = FormulaInstaller.new(f)
|
||||
fi.options = options
|
||||
fi.build_bottle = ARGV.build_bottle? || (!f.bottle_defined? && f.build.bottle?)
|
||||
fi.build_bottle = ARGV.build_bottle?
|
||||
fi.interactive = ARGV.interactive?
|
||||
fi.git = ARGV.git?
|
||||
fi.link_keg ||= keg_was_linked if keg_had_linked_opt
|
||||
fi.build_from_source = true if build_from_source
|
||||
if tab
|
||||
fi.build_bottle ||= tab.built_bottle?
|
||||
fi.installed_as_dependency = tab.installed_as_dependency
|
||||
fi.installed_on_request = tab.installed_on_request
|
||||
end
|
||||
fi.prelude
|
||||
|
||||
oh1 "Reinstalling #{Formatter.identifier(f.full_name)} #{options.to_a.join " "}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user