diff --git a/Library/Homebrew/extend/os/mac/keg_relocate.rb b/Library/Homebrew/extend/os/mac/keg_relocate.rb index 476e5da4a472d107d8ef1fecfe4e5123dfff9245..7b5bb11f97ba44f02953c6474b226a8d71634411 100644 --- a/Library/Homebrew/extend/os/mac/keg_relocate.rb +++ b/Library/Homebrew/extend/os/mac/keg_relocate.rb @@ -131,6 +131,12 @@ class Keg mach_o_files end + def recursive_fgrep_args + # Don't recurse into symlinks; the man page says this is the default, but + # it's wrong. -O is a BSD-grep-only option. + "-lrO" + end + def self.file_linked_libraries(file, string) # Check dynamic library linkage. Importantly, do not perform for static # libraries, which will falsely report "linkage" to themselves. diff --git a/Library/Homebrew/keg_relocate.rb b/Library/Homebrew/keg_relocate.rb index 0b1a1bc94d90008379b28eca43ab9a62d04f18e1..9a990258416302bf32f555d74e6133f8a7122a29 100644 --- a/Library/Homebrew/keg_relocate.rb +++ b/Library/Homebrew/keg_relocate.rb @@ -98,13 +98,14 @@ class Keg [] end + def recursive_fgrep_args + # for GNU grep; overridden for BSD grep on OS X + "-lr" + end + alias generic_recursive_fgrep_args recursive_fgrep_args + def each_unique_file_matching(string) - bsd = `/usr/bin/fgrep -V`.include?("BSD grep") - grep_args = "-lr" - # Don't recurse into symlinks; the man page says this is the default, but - # it's wrong. - grep_args += "O" if bsd - Utils.popen_read("/usr/bin/fgrep", grep_args, string, to_s) do |io| + Utils.popen_read("/usr/bin/fgrep", recursive_fgrep_args, string, to_s) do |io| hardlinks = Set.new until io.eof?