Skip to content
Snippets Groups Projects
Commit 1deb3a1f authored by Max Howell's avatar Max Howell
Browse files

Don't resolve conflcts for pre-existing symlinks in HOMEBREW_PREFIX

Eg /usr/local/lib/juice/foo points somewhere else where the user has modules that he wants juice to use.

Basically don't error out for stuff that isn't ours.
parent 64354136
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,8 @@ class Keg <Pathname
raise "#{to_s} is not a directory" unless directory?
end
class NotAKegError <RuntimeError; end
# if path is a file in a keg then this will return the containing Keg object
def self.for path
path = path.realpath
......@@ -35,7 +37,7 @@ class Keg <Pathname
return Keg.new(path) if path.parent.parent == HOMEBREW_CELLAR.realpath
path = path.parent.realpath # realpath() prevents root? failing
end
raise "#{path} is not inside a keg"
raise NotAKegError, "#{path} is not inside a keg"
end
def uninstall
......@@ -94,6 +96,8 @@ protected
keg.link_dir(src) { :mkpath }
return true
end
rescue NotAKegError
puts "Won't resolve conflicts for symlink #{dst} as it doesn't resolve into the Cellar" if ARGV.verbose?
end
# symlinks the contents of self+foo recursively into /usr/local/foo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment