From ccc9b2dc6dc27026673db3c8871c691be9541342 Mon Sep 17 00:00:00 2001 From: Naoto Kaneko Date: Fri, 24 Feb 2017 17:44:27 +0900 Subject: [PATCH] Check for metafiles only in the root directory --- Library/Homebrew/keg.rb | 5 ++--- Library/Homebrew/test/keg_test.rb | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 9849a291ee..9ebfc3bc32 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -207,9 +207,8 @@ class Keg alias eql? == def empty_installation? - Pathname.glob("#{path}/**/*") do |file| - return false if file.executable? - next if file.directory? + Pathname.glob("#{path}/*") do |file| + return false if file.directory? && !file.children.reject(&:ds_store?).empty? basename = file.basename.to_s next if Metafiles.copy?(basename) next if %w[.DS_Store INSTALL_RECEIPT.json].include?(basename) diff --git a/Library/Homebrew/test/keg_test.rb b/Library/Homebrew/test/keg_test.rb index bd42320383..e8f99b7772 100644 --- a/Library/Homebrew/test/keg_test.rb +++ b/Library/Homebrew/test/keg_test.rb @@ -59,6 +59,10 @@ class LinkTests < LinkTestCase (@keg/"bin").rmtree assert_predicate @keg, :empty_installation? + + (@keg/"bin").mkpath + touch @keg.join("bin", "todo") + refute_predicate @keg, :empty_installation? end def test_linking_keg