From d0e2d126a1969c6cf3d975576108a8da2c618254 Mon Sep 17 00:00:00 2001 From: Xu Cheng <xucheng@me.com> Date: Mon, 2 Feb 2015 22:53:52 +0800 Subject: [PATCH] audit: catch empty installations Closes Homebrew/homebrew#36794. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com> --- Library/Homebrew/cmd/audit.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 8c874944e9..4d0d7cb2f7 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -668,6 +668,24 @@ class FormulaAuditor end end + def audit_prefix_has_contents + return unless formula.prefix.directory? + + Pathname.glob("#{formula.prefix}/**/*") do |file| + next if file.directory? + basename = file.basename.to_s + next if Metafiles.copy?(basename) + next if %w[.DS_Store INSTALL_RECEIPT.json].include?(basename) + return + end + + problem <<-EOS.undent + The installation seems to be empty. Please ensure the prefix + is set correctly and expected files are installed. + The prefix configure/make argument may be case-sensitive. + EOS + end + def audit_conditional_dep(dep, condition, line) quoted_dep = quote_dep(dep) dep = Regexp.escape(dep.to_s) @@ -700,6 +718,7 @@ class FormulaAuditor audit_text text.without_patch.split("\n").each_with_index { |line, lineno| audit_line(line, lineno+1) } audit_installed + audit_prefix_has_contents end private -- GitLab