diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb index 083afabff0..efc1bd48c4 100644 --- a/Library/Homebrew/keg_fix_install_names.rb +++ b/Library/Homebrew/keg_fix_install_names.rb @@ -45,10 +45,15 @@ class Keg < Pathname changed = s.gsub!(old_cellar, new_cellar) changed = s.gsub!(old_prefix, new_prefix) || changed - if changed + begin first.atomic_write(s) + rescue Errno::EACCES + first.ensure_writable do + first.open("wb") { |f| f.write(s) } + end + else rest.each { |file| FileUtils.ln(first, file, :force => true) } - end + end if changed end end