install: unlink old kegs
If a formula makes it all the way to the actual install step, it is safe to unlink the keg before linking; this will prune dead symlinks in the case where a keg was removed with `rm -rf <keg>` but not unlinked with `brew unlink`. Fixes Homebrew/homebrew#10077. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
parent
6cfe4b3208
commit
511598fa37
@ -103,6 +103,10 @@ module Homebrew extend self
|
||||
begin
|
||||
fi = FormulaInstaller.new(f)
|
||||
fi.install
|
||||
# Due to the nature of Keg#unlink, this will remove symlinks from an
|
||||
# older keg, which may still be present if an uninstallation was done
|
||||
# via `rm -rf <keg>`; this is desired.
|
||||
Keg.new("#{f.rack}/#{f.version}").unlink
|
||||
fi.caveats
|
||||
fi.finish
|
||||
rescue FormulaAlreadyInstalledError => e
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user