diff options
| -rw-r--r-- | Library/Homebrew/formula.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/keg.rb | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 7ca2007bb..8fb220ba8 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -689,10 +689,15 @@ class Formula def lock @lock = FormulaLock.new(name) @lock.lock + if oldname && (oldname_rack = HOMEBREW_CELLAR/oldname).exist? && oldname_rack.resolved_path == rack + @oldname_lock = FormulaLock.new(oldname) + @oldname_lock.lock + end end def unlock @lock.unlock unless @lock.nil? + @oldname_lock.unlock unless @oldname_lock.nil? end def pinnable? diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 007d7bcfa..4c6819244 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -216,7 +216,13 @@ class Keg end def lock - FormulaLock.new(name).with_lock { yield } + FormulaLock.new(name).with_lock do + if oldname_opt_record + FormulaLock.new(oldname_opt_record.basename.to_s).with_lock { yield } + else + yield + end + end end def completion_installed?(shell) |
