aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2012-08-10 09:33:33 -0400
committerMax Howell2012-08-10 09:33:44 -0400
commit45b84df1bdcbdcd75022e024d1cf400f1c73fdaa (patch)
tree0b509263c88e961c6558f10d616bb66dcc7b6de8
parentf5eaef0aeef134468f3681962d4bf2934ec015d3 (diff)
downloadbrew-45b84df1bdcbdcd75022e024d1cf400f1c73fdaa.tar.bz2
Be more verbose when users insist on being sudoers
If you google for "Cowardly refusing to sudo brew" you get a lot of confused users who didn't read any of the Homebrew documentation and then had a hissy-fit.
-rw-r--r--Library/Homebrew/cmd/install.rb6
-rw-r--r--Library/Homebrew/cmd/link.rb4
-rw-r--r--Library/Homebrew/exceptions.rb8
3 files changed, 11 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb
index aa7987048..319b277fd 100644
--- a/Library/Homebrew/cmd/install.rb
+++ b/Library/Homebrew/cmd/install.rb
@@ -2,7 +2,7 @@ require 'formula_installer'
require 'hardware'
require 'blacklist'
-module Homebrew extend self
+module Homebrew extend self
def install
raise FormulaUnspecifiedError if ARGV.named.empty?
@@ -15,9 +15,7 @@ module Homebrew extend self
end unless ARGV.force?
if Process.uid.zero? and not File.stat(HOMEBREW_BREW_FILE).uid.zero?
- # note we only abort if Homebrew is *not* installed as sudo and the user
- # calls brew as root. The fix is to chown brew to root.
- abort "Cowardly refusing to `sudo brew install'"
+ raise "Cowardly refusing to `sudo brew install'\n#{SUDO_BAD_ERRMSG}"
end
install_formulae ARGV.formulae
diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb
index 2595af3b8..8e942cd91 100644
--- a/Library/Homebrew/cmd/link.rb
+++ b/Library/Homebrew/cmd/link.rb
@@ -4,9 +4,7 @@ module Homebrew extend self
raise KegUnspecifiedError if ARGV.named.empty?
if Process.uid.zero? and not File.stat(HOMEBREW_BREW_FILE).uid.zero?
- # note we only abort if Homebrew is *not* installed as sudo and the user
- # calls brew as root. The fix is to chown brew to root.
- abort "Cowardly refusing to `sudo brew link'"
+ raise "Cowardly refusing to `sudo brew link'\n#{SUDO_BAD_ERRMSG}"
end
if ARGV.force? then mode = :force
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index 9ed6646f1..5dd2209b2 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -179,3 +179,11 @@ class ChecksumMismatchError < RuntimeError
super + advice.to_s
end
end
+
+module Homebrew extend self
+ SUDO_BAD_ERRMSG = <<-EOS.undent
+ You can use brew with sudo, but only if the brew executable is owned by root.
+ However, this is both not recommended and completely unsupported so do so at
+ your own risk.
+ EOS
+end