Skip to content
Snippets Groups Projects
Commit 1bc63136 authored by Jack Nagel's avatar Jack Nagel
Browse files

Pass the tab to FormulaInstaller


Callers of FormulaInstaller now usually unlink the existing keg prior to
running the installer. However, Tab.for_formula uses the LinkedKeg
record to obtain the tab.

Since we need the tab to persist install options across upgrades, we
must start creating the Tab object before unlinking the old keg and
passing it to the FormulaInstaller.

Fixes Homebrew/homebrew#11086.

Signed-off-by: default avatarJack Nagel <jacknagel@gmail.com>
parent 9076037a
No related branches found
No related tags found
No related merge requests found
......@@ -49,9 +49,10 @@ module Homebrew extend self
end
def upgrade_formula f
tab = Tab.for_formula(f)
outdated_keg = Keg.new(f.linked_keg.realpath) rescue nil
installer = FormulaInstaller.new f
installer = FormulaInstaller.new(f, tab)
installer.show_header = false
oh1 "Upgrading #{f.name}"
......
......@@ -7,13 +7,15 @@ require 'bottles'
class FormulaInstaller
attr :f
attr :tab
attr :show_summary_heading, true
attr :ignore_deps, true
attr :install_bottle, true
attr :show_header, true
def initialize ff
def initialize ff, tab=nil
@f = ff
@tab = tab
@show_header = true
@ignore_deps = ARGV.include? '--ignore-dependencies' || ARGV.interactive?
@install_bottle = install_bottle? ff
......@@ -111,9 +113,10 @@ class FormulaInstaller
end
def install_dependency dep
dep_tab = Tab.for_formula(dep)
outdated_keg = Keg.new(dep.linked_keg.realpath) rescue nil
fi = FormulaInstaller.new dep
fi = FormulaInstaller.new(dep, dep_tab)
fi.ignore_deps = true
fi.show_header = false
oh1 "Installing #{f} dependency: #{dep}"
......@@ -179,8 +182,7 @@ class FormulaInstaller
args = ARGV.clone
unless args.include? '--fresh'
previous_install = Tab.for_formula f
args.concat previous_install.used_options
args.concat tab.used_options unless tab.nil?
args.uniq! # Just in case some dupes were added
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment