diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index 73da9790fe..ff45a4ad83 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -199,7 +199,7 @@ def info f kids=f.prefix.parent.children kids.each do |keg| print "#{keg} (#{keg.abv})" - print " *" if f.prefix == keg and kids.length > 1 + print " *" if f.installed_prefix == keg and kids.length > 1 puts end else @@ -258,7 +258,7 @@ def cleanup name if f.installed? and formula_cellar.directory? kids = f.prefix.parent.children kids.each do |keg| - next if f.prefix == keg + next if f.installed_prefix == keg print "Uninstalling #{keg}..." FileUtils.rm_rf keg puts diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index d6a536f5f7..d9f1109820 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -98,11 +98,20 @@ class Formula # if the dir is there, but it's empty we consider it not installed def installed? - return prefix.children.length > 0 + return installed_prefix.children.length > 0 rescue return false end + def installed_prefix + head_prefix = HOMEBREW_CELLAR+@name+'HEAD' + if @version == 'HEAD' || head_prefix.directory? + head_prefix + else + prefix + end + end + def path self.class.path name end