Skip to content
Snippets Groups Projects
Commit d3ef5642 authored by William Woodruff's avatar William Woodruff Committed by Martin Afanasjew
Browse files

keg_relocate: Exclude hardlinks from mach_o_files.

parent d4f5f0ce
No related branches found
No related tags found
No related merge requests found
......@@ -157,10 +157,15 @@ class Keg
end
def mach_o_files
hardlinks = Set.new
mach_o_files = []
path.find do |pn|
next if pn.symlink? || pn.directory?
mach_o_files << pn if pn.dylib? || pn.mach_o_bundle? || pn.mach_o_executable?
next unless pn.dylib? || pn.mach_o_bundle? || pn.mach_o_executable?
# if we've already processed a file, ignore its hardlinks (which have the same dev ID and inode)
# this prevents relocations from being performed on a binary more than once
next unless hardlinks.add? [pn.stat.dev, pn.stat.ino]
mach_o_files << pn
end
mach_o_files
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment