aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-06-23 21:56:57 -0500
committerJack Nagel2014-06-23 22:34:41 -0500
commit2db80ae3bbe22e328504c0ae991a865658abbbdf (patch)
tree0188a1c03decec88dd41ef1d5afb661d5135693a
parent60fdf0011608ea78863f170046f2d0052afbe45f (diff)
downloadhomebrew-2db80ae3bbe22e328504c0ae991a865658abbbdf.tar.bz2
Remove opt link in Keg#uninstall
-rw-r--r--Library/Homebrew/cmd/uninstall.rb7
-rw-r--r--Library/Homebrew/keg.rb6
2 files changed, 6 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index a7b426c0c..91551c442 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -11,7 +11,6 @@ module Homebrew
puts "Uninstalling #{keg}..."
keg.unlink
keg.uninstall
- rm_opt_link keg.fname
rm_pin keg.fname
end
end
@@ -29,7 +28,6 @@ module Homebrew
end
end
- rm_opt_link name
rm_pin name
end
end
@@ -38,11 +36,6 @@ module Homebrew
puts "Use `brew remove --force #{e.name}` to remove all versions."
end
- def rm_opt_link name
- optlink = HOMEBREW_PREFIX.join("opt", name)
- optlink.unlink if optlink.symlink?
- end
-
def rm_pin name
Formulary.factory(name).unpin rescue nil
end
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 8113a36a9..deb22402b 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -97,6 +97,12 @@ class Keg < Pathname
def uninstall
rmtree
parent.rmdir_if_possible
+
+ opt = HOMEBREW_PREFIX.join("opt", fname)
+ if opt.symlink? && self == opt.resolved_path
+ opt.unlink
+ opt.parent.rmdir_if_possible
+ end
end
def unlink