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
end end
def __check_stray_files(pattern, white_list, message) def __check_stray_files(dir, pattern, white_list, message)
files = Dir[pattern].select { |f| File.file? f and not File.symlink? f } files = Dir.chdir(dir) {
bad = files.reject {|d| white_list.key? File.basename(d) } 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? inject_file_list(bad, message) unless bad.empty?
end end
@ -119,7 +128,7 @@ def check_for_stray_dylibs
"libosxfuse_i64.2.dylib" => "OSXFuse", "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. Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted. 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" "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. Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted. building Homebrew formulae, and may need to be deleted.
@ -152,7 +161,7 @@ def check_for_stray_pcs
"osxfuse.pc" => "OSXFuse", "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. Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted. building Homebrew formulae, and may need to be deleted.
@ -169,7 +178,7 @@ def check_for_stray_las
"libosxfuse_i64.la" => "OSXFuse", "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. Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted. building Homebrew formulae, and may need to be deleted.
@ -181,7 +190,7 @@ end
def check_for_stray_headers def check_for_stray_headers
white_list = {} # TODO whitelist MacFuse/OSXFuse 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. Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted. building Homebrew formulae, and may need to be deleted.