diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index b7af6427f3f6c1d44db019a1692ba1463003f252..511d79687a1df561c4d7166198b88d6ce5a85de0 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -385,7 +385,7 @@ class Keg end def installed_dependents - return [] unless linked? + return [] if !linked? && !to_formula.keg_only? tap = Tab.for_keg(self).source["tap"] Keg.all.select do |keg| tab = Tab.for_keg(keg) diff --git a/Library/Homebrew/test/keg_test.rb b/Library/Homebrew/test/keg_test.rb index 7b396b5636b3c208bfa7bf7fa849ef7671e0f4b2..de32c55e532da68f0e7c3be7ae8f8236517a08fb 100644 --- a/Library/Homebrew/test/keg_test.rb +++ b/Library/Homebrew/test/keg_test.rb @@ -473,4 +473,12 @@ class InstalledDependantsTests < LinkTestCase assert_empty @keg.installed_dependents assert_nil Keg.find_some_installed_dependents([@keg]) end + + def test_keg_only + @keg.unlink + Formula["foo"].class.keg_only "a good reason" + dependencies [{ "full_name" => "foo", "version" => "1.1" }] # different version + assert_equal [@dependent], @keg.installed_dependents + assert_equal [[@keg], ["bar 1.0"]], Keg.find_some_installed_dependents([@keg]) + end end