
Added doctor check for .curlrc rather than silently ignoring it (#13836). Closes Homebrew/homebrew#15419. Signed-off-by: Max Howell <mxcl@me.com> Removed test in doctor where it actually curl'd a file. It's enough to warn if the curlrc exists. I understand people want to remove the warnings, but the point in the doctor is to help diagnose and not to be some ramification of your UNIX system.
95 lines
2.8 KiB
Ruby
95 lines
2.8 KiB
Ruby
require 'extend/fileutils'
|
|
require 'extend/pathname'
|
|
require 'extend/ARGV'
|
|
require 'extend/string'
|
|
require 'utils'
|
|
require 'exceptions'
|
|
require 'set'
|
|
|
|
ARGV.extend(HomebrewArgvExtension)
|
|
|
|
HOMEBREW_VERSION = '0.9.3'
|
|
HOMEBREW_WWW = 'http://mxcl.github.com/homebrew/'
|
|
|
|
def cache
|
|
if ENV['HOMEBREW_CACHE']
|
|
Pathname.new(ENV['HOMEBREW_CACHE'])
|
|
else
|
|
# we do this for historic reasons, however the cache *should* be the same
|
|
# directory whichever user is used and whatever instance of brew is executed
|
|
home_cache = Pathname.new("~/Library/Caches/Homebrew").expand_path
|
|
if home_cache.directory? and home_cache.writable_real?
|
|
home_cache
|
|
else
|
|
root_cache = Pathname.new("/Library/Caches/Homebrew")
|
|
class << root_cache
|
|
alias :oldmkpath :mkpath
|
|
def mkpath
|
|
unless exist?
|
|
oldmkpath
|
|
chmod 0777
|
|
end
|
|
end
|
|
end
|
|
root_cache
|
|
end
|
|
end
|
|
end
|
|
|
|
HOMEBREW_CACHE = cache
|
|
undef cache # we use a function to prevent adding home_cache to the global scope
|
|
|
|
# Where brews installed via URL are cached
|
|
HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE+"Formula"
|
|
|
|
if not defined? HOMEBREW_BREW_FILE
|
|
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] || `which brew`.chomp
|
|
end
|
|
|
|
HOMEBREW_PREFIX = Pathname.new(HOMEBREW_BREW_FILE).dirname.parent # Where we link under
|
|
HOMEBREW_REPOSITORY = Pathname.new(HOMEBREW_BREW_FILE).realpath.dirname.parent # Where .git is found
|
|
HOMEBREW_LIBRARY = HOMEBREW_REPOSITORY/"Library"
|
|
HOMEBREW_CONTRIB = HOMEBREW_REPOSITORY/"Library/Contributions"
|
|
|
|
# Where we store built products; /usr/local/Cellar if it exists,
|
|
# otherwise a Cellar relative to the Repository.
|
|
HOMEBREW_CELLAR = if (HOMEBREW_PREFIX+"Cellar").exist?
|
|
HOMEBREW_PREFIX+"Cellar"
|
|
else
|
|
HOMEBREW_REPOSITORY+"Cellar"
|
|
end
|
|
|
|
HOMEBREW_LOGS = Pathname.new('~/Library/Logs/Homebrew/').expand_path
|
|
|
|
if RUBY_PLATFORM =~ /darwin/
|
|
MACOS_FULL_VERSION = `/usr/bin/sw_vers -productVersion`.chomp
|
|
MACOS_VERSION = /(10\.\d+)(\.\d+)?/.match(MACOS_FULL_VERSION).captures.first.to_f
|
|
OS_VERSION = "Mac OS X #{MACOS_FULL_VERSION}"
|
|
MACOS = true
|
|
else
|
|
MACOS_FULL_VERSION = MACOS_VERSION = 0
|
|
OS_VERSION = RUBY_PLATFORM
|
|
MACOS = false
|
|
end
|
|
|
|
HOMEBREW_USER_AGENT = "Homebrew #{HOMEBREW_VERSION} (Ruby #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}; #{OS_VERSION})"
|
|
|
|
HOMEBREW_CURL_ARGS = '-f#LA'
|
|
|
|
module Homebrew extend self
|
|
include FileUtils
|
|
|
|
attr_accessor :failed
|
|
alias_method :failed?, :failed
|
|
end
|
|
|
|
FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
|
|
ISSUES_URL = "https://github.com/mxcl/homebrew/wiki/troubleshooting"
|
|
|
|
unless ARGV.include? "--no-compat" or ENV['HOMEBREW_NO_COMPAT']
|
|
$:.unshift(File.expand_path("#{__FILE__}/../compat"))
|
|
require 'compatibility'
|
|
end
|
|
|
|
ORIGINAL_PATHS = ENV['PATH'].split(':').map{ |p| Pathname.new(p).expand_path rescue nil }.compact.freeze
|