diff options
| author | Mike McQuaid | 2017-07-30 21:44:43 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2017-07-30 21:44:43 +0100 |
| commit | 044f4d947bd7f75efcab427716769697c0fa0b10 (patch) | |
| tree | 2cc1d858ab6f85584393a2eca768404df60939c6 /Library/Homebrew/formula_installer.rb | |
| parent | 9d55446cd065801b16af11fc492895eb178262d2 (diff) | |
| download | brew-044f4d947bd7f75efcab427716769697c0fa0b10.tar.bz2 | |
Tweak preserve link status on reinstall/upgrade.
Treat a `brew install` command as normal i.e. link by default unless
keg-only and only specify whether a keg should be linked when upgrading
or reinstalling. Also, adjust the naming accordingly so it's more
obvious that this is the case.
Diffstat (limited to 'Library/Homebrew/formula_installer.rb')
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 242502194..a67385338 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -37,17 +37,11 @@ class FormulaInstaller mode_attr_accessor :show_summary_heading, :show_header mode_attr_accessor :build_from_source, :force_bottle mode_attr_accessor :ignore_deps, :only_deps, :interactive, :git - mode_attr_accessor :verbose, :debug, :quieter, :keg_was_linked + mode_attr_accessor :verbose, :debug, :quieter, :link_keg def initialize(formula) @formula = formula - @rack_was_present = formula.rack.directory? - @keg_was_linked = if formula.linked_keg.directory? - keg = Keg.new(formula.linked_keg.resolved_path) - keg.linked? - else - false - end + @link_keg = !formula.keg_only? @show_header = false @ignore_deps = false @only_deps = false @@ -532,6 +526,7 @@ class FormulaInstaller if df.linked_keg.directory? linked_keg = Keg.new(df.linked_keg.resolved_path) + keg_had_linked_keg = true keg_was_linked = linked_keg.linked? linked_keg.unlink end @@ -551,7 +546,7 @@ class FormulaInstaller fi.verbose = verbose? fi.quieter = quieter? fi.debug = debug? - fi.keg_was_linked = keg_was_linked + fi.link_keg = keg_was_linked if keg_had_linked_keg fi.installed_as_dependency = true fi.installed_on_request = false fi.prelude @@ -722,13 +717,7 @@ class FormulaInstaller end def link(keg) - link_formula = if @rack_was_present - keg_was_linked? - else - !formula.keg_only? - end - - unless link_formula + unless link_keg begin keg.optlink rescue Keg::LinkError => e |
