Revert "Revert "Match whitelisted files using fnmatch""

This reverts commit 91be9f5344d5931ddae6e4f905c18a607fa9e9f1.
This commit is contained in:
Jack Nagel 2014-09-24 17:40:16 -05:00
parent dfce2bb7c7
commit ad8556ccea

View File

@ -103,9 +103,18 @@ def check_for_macgpg2
end
end
def __check_stray_files(pattern, white_list, message)
files = Dir[pattern].select { |f| File.file? f and not File.symlink? f }
bad = files.reject {|d| white_list.key? File.basename(d) }
def __check_stray_files(dir, pattern, white_list, message)
files = Dir.chdir(dir) {
Dir[pattern].select { |f| File.file?(f) && !File.symlink?(f) }
}
keys = white_list.keys
bad = files.reject { |file|
keys.any? { |pat| File.fnmatch?(pat, file) }
}
bad.map! { |file| File.join(dir, file) }
inject_file_list(bad, message) unless bad.empty?
end
@ -119,7 +128,7 @@ def check_for_stray_dylibs
"libosxfuse_i64.2.dylib" => "OSXFuse",
}
__check_stray_files '/usr/local/lib/*.dylib', white_list, <<-EOS.undent
__check_stray_files "/usr/local/lib", "*.dylib", white_list, <<-EOS.undent
Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
@ -136,7 +145,7 @@ def check_for_stray_static_libs
"libsecurity_agent_server.a" => "OS X 10.8.2 Supplemental Update"
}
__check_stray_files '/usr/local/lib/*.a', white_list, <<-EOS.undent
__check_stray_files "/usr/local/lib", "*.a", white_list, <<-EOS.undent
Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
@ -152,7 +161,7 @@ def check_for_stray_pcs
"osxfuse.pc" => "OSXFuse",
}
__check_stray_files '/usr/local/lib/pkgconfig/*.pc', white_list, <<-EOS.undent
__check_stray_files "/usr/local/lib/pkgconfig", "*.pc", white_list, <<-EOS.undent
Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
@ -169,7 +178,7 @@ def check_for_stray_las
"libosxfuse_i64.la" => "OSXFuse",
}
__check_stray_files '/usr/local/lib/*.la', white_list, <<-EOS.undent
__check_stray_files "/usr/local/lib", "*.la", white_list, <<-EOS.undent
Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
@ -181,7 +190,7 @@ end
def check_for_stray_headers
white_list = {} # TODO whitelist MacFuse/OSXFuse headers
__check_stray_files "/usr/local/include/**/*.h", white_list, <<-EOS.undent
__check_stray_files "/usr/local/include", "**/*.h", white_list, <<-EOS.undent
Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.