aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2016-01-09 12:00:35 +0000
committerMike McQuaid2016-01-17 20:06:00 +0000
commit42681b51f83193f0fb9c178c85e2d1b17926ebd2 (patch)
tree716f40af8467d7b068cb24bbcf461fc1295710c6 /Library
parente7bffe4809908738685208e1a0077473208f0430 (diff)
downloadbrew-42681b51f83193f0fb9c178c85e2d1b17926ebd2.tar.bz2
formula_installer: build formula options better.
Previously we got all the options based on the build, any inherited options, any passed options and the tab. We want to make sure that these then exclude any options that don't exist as, otherwise, passing an option that doesn't exist (or has been deleted) is enough to stop a bottle being poured. This was particularly nasty on upgrades where we deleted options and one left in the tab would stop the bottle being poured. Closes Homebrew/homebrew#47891. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/formula_installer.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index af1922150..3202ef8a6 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -353,6 +353,7 @@ class FormulaInstaller
args = dependent.build.used_options
args |= dependent == formula ? options : inherited_options
args |= Tab.for_formula(dependent).used_options
+ args &= dependent.options
BuildOptions.new(args, dependent.options)
end