diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb index f490a9c790..7356efcd20 100644 --- a/Library/Homebrew/keg_fix_install_names.rb +++ b/Library/Homebrew/keg_fix_install_names.rb @@ -42,10 +42,13 @@ class Keg files.group_by { |f| f.stat.ino }.each_value do |first, *rest| s = first.open("rb", &:read) - s.gsub!(old_cellar, new_cellar) - s.gsub!(old_prefix, new_prefix) - first.atomic_write(s) - rest.each { |file| FileUtils.ln(first, file, :force => true) } + changed = s.gsub!(old_cellar, new_cellar) + changed = s.gsub!(old_prefix, new_prefix) || changed + + if changed + first.atomic_write(s) + rest.each { |file| FileUtils.ln(first, file, :force => true) } + end end end