Remove Fink and Macports from the PATH earlier

References issue Homebrew/homebrew#48
This commit is contained in:
Max Howell 2009-09-23 16:41:47 +01:00
parent a03d13088f
commit 034fc40ae1
3 changed files with 23 additions and 8 deletions

View File

@ -229,6 +229,23 @@ def diy
end end
end end
def fix_PATH
bad_paths = `/usr/bin/which -a port`.split
bad_paths += `/usr/bin/which -a fink`.split
# don't remove standard paths!
bad_paths.delete_if do |pn|
%w[/usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/X11/bin].include? pn or pn.empty?
end
bad_paths += %w[/opt/local/bin /opt/local/sbin /sw/bin /sw/sbin]
paths = ENV['PATH'].split(':').reject do |p|
p.squeeze! '/'
bad_paths.find { |pn| p =~ /^#{pn}/ } and true
end
ENV['PATH'] = paths*':'
end
################################################################ class Cleaner ################################################################ class Cleaner
class Cleaner class Cleaner
def initialize f def initialize f

View File

@ -175,14 +175,6 @@ end
ENV.extend HomebrewEnvExtension ENV.extend HomebrewEnvExtension
# remove MacPorts and Fink from the PATH, this prevents issues like:
# http://github.com/mxcl/homebrew/issues/#issue/13
paths=ENV['PATH'].split(':').reject do |p|
p.squeeze! '/'
p =~ %r[^/opt/local] or p =~ %r[^/sw]
end
ENV['PATH']=paths*':'
# Clear CDPATH to avoid make issues that depend on changing directories # Clear CDPATH to avoid make issues that depend on changing directories
ENV.delete('CDPATH') ENV.delete('CDPATH')

View File

@ -12,6 +12,12 @@ if %w[/ /usr].include? HOMEBREW_PREFIX.to_s then abort <<-EOS
EOS EOS
end end
if `sw_vers -productVersion` =~ /10\.(\d)\.(\d+)/ and $1.to_i < 5 if `sw_vers -productVersion` =~ /10\.(\d)\.(\d+)/ and $1.to_i < 5
# remove MacPorts and Fink from the PATH, this prevents issues like:
# http://github.com/mxcl/homebrew/issues/#issue/13
# http://github.com/mxcl/homebrew/issues/#issue/48
fix_PATH
onoe "Homebrew requires Leopard or higher" onoe "Homebrew requires Leopard or higher"
abort "But thanks for your interest anyway!" abort "But thanks for your interest anyway!"
end end