mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Make Homebrew user agent consistent, use a slash.
Generally it seems user agents are all `software/version` but ours is not. Also, set the user agent in a way that it's shared between Bash and Ruby code. Closes https://github.com/Homebrew/legacy-homebrew/pull/50480.
This commit is contained in:
parent
ac80883046
commit
77611bafb1
@ -306,7 +306,7 @@ EOS
|
||||
# (so the API does not return 304: unmodified).
|
||||
UPSTREAM_SHA_HTTP_CODE="$(curl --silent '--max-time' 3 \
|
||||
--output /dev/null --write-out "%{http_code}" \
|
||||
--user-agent "Homebrew $HOMEBREW_VERSION" \
|
||||
--user-agent "$HOMEBREW_USER_AGENT_CURL" \
|
||||
--header "Accept: application/vnd.github.chitauri-preview+sha" \
|
||||
--header "If-None-Match: \"$UPSTREAM_BRANCH_LOCAL_SHA\"" \
|
||||
"https://api.github.com/repos/$UPSTREAM_REPOSITORY/commits/$UPSTREAM_BRANCH")"
|
||||
|
@ -26,7 +26,8 @@ else
|
||||
end
|
||||
RUBY_BIN = RUBY_PATH.dirname
|
||||
|
||||
HOMEBREW_USER_AGENT = "Homebrew #{HOMEBREW_VERSION} (Ruby #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}; #{OS_VERSION})"
|
||||
HOMEBREW_USER_AGENT_CURL = ENV["HOMEBREW_USER_AGENT_CURL"]
|
||||
HOMEBREW_USER_AGENT_RUBY = "#{ENV["HOMEBREW_USER_AGENT"]} ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
||||
|
||||
HOMEBREW_CURL_ARGS = "-f#LA"
|
||||
|
||||
|
@ -7,6 +7,8 @@ module OS
|
||||
/linux/i === RUBY_PLATFORM
|
||||
end
|
||||
|
||||
::OS_VERSION = ENV["HOMEBREW_OS_VERSION"]
|
||||
|
||||
if OS.mac?
|
||||
require "os/mac"
|
||||
ISSUES_URL = "https://git.io/brew-troubleshooting"
|
||||
@ -14,13 +16,11 @@ module OS
|
||||
# compatibility
|
||||
::MACOS_FULL_VERSION = OS::Mac.full_version.to_s
|
||||
::MACOS_VERSION = OS::Mac.version.to_s
|
||||
::OS_VERSION = "OS X #{MACOS_FULL_VERSION}"
|
||||
elsif OS.linux?
|
||||
ISSUES_URL = "https://github.com/Homebrew/linuxbrew/wiki/troubleshooting"
|
||||
PATH_OPEN = "xdg-open"
|
||||
# compatibility
|
||||
::MACOS_FULL_VERSION = ::MACOS_VERSION = "0"
|
||||
::OS_VERSION = RUBY_PLATFORM
|
||||
else
|
||||
raise "Unknown operating system"
|
||||
end
|
||||
|
@ -21,7 +21,7 @@ module OS
|
||||
# This can be compared to numerics, strings, or symbols
|
||||
# using the standard Ruby Comparable methods.
|
||||
def full_version
|
||||
@full_version ||= Version.new(`/usr/bin/sw_vers -productVersion`.chomp)
|
||||
@full_version ||= Version.new(ENV["HOMEBREW_OSX_VERSION"].chomp)
|
||||
end
|
||||
|
||||
def prerelease?
|
||||
|
@ -309,18 +309,13 @@ def quiet_system(cmd, *args)
|
||||
end
|
||||
|
||||
def curl(*args)
|
||||
brewed_curl = HOMEBREW_PREFIX/"opt/curl/bin/curl"
|
||||
curl = if MacOS.version <= "10.8" && brewed_curl.exist?
|
||||
brewed_curl
|
||||
else
|
||||
Pathname.new "/usr/bin/curl"
|
||||
end
|
||||
curl = Pathname.new ENV["HOMEBREW_CURL"]
|
||||
raise "#{curl} is not executable" unless curl.exist? && curl.executable?
|
||||
|
||||
flags = HOMEBREW_CURL_ARGS
|
||||
flags = flags.delete("#") if ARGV.verbose?
|
||||
|
||||
args = [flags, HOMEBREW_USER_AGENT, *args]
|
||||
args = [flags, HOMEBREW_USER_AGENT_CURL, *args]
|
||||
args << "--verbose" if ENV["HOMEBREW_CURL_VERBOSE"]
|
||||
args << "--silent" if !$stdout.tty? || ENV["TRAVIS"]
|
||||
|
||||
@ -594,7 +589,7 @@ module GitHub
|
||||
|
||||
def api_headers
|
||||
{
|
||||
"User-Agent" => HOMEBREW_USER_AGENT,
|
||||
"User-Agent" => HOMEBREW_USER_AGENT_RUBY,
|
||||
"Accept" => "application/vnd.github.v3+json"
|
||||
}
|
||||
end
|
||||
|
@ -57,9 +57,13 @@ then
|
||||
unset HOMEBREW_RUBY_PATH
|
||||
fi
|
||||
|
||||
if [[ "$(uname -s)" = "Darwin" ]]
|
||||
HOMEBREW_SYSTEM="$(uname -s)"
|
||||
if [[ "$HOMEBREW_SYSTEM" = "Darwin" ]]
|
||||
then
|
||||
HOMEBREW_OSX="1"
|
||||
elif [[ "$HOMEBREW_SYSTEM" = "Linux" ]]
|
||||
then
|
||||
HOMEBREW_LINUX="1"
|
||||
fi
|
||||
|
||||
if [[ -z "$HOMEBREW_RUBY_PATH" ]]
|
||||
@ -72,13 +76,47 @@ then
|
||||
fi
|
||||
fi
|
||||
|
||||
export HOMEBREW_VERSION
|
||||
HOMEBREW_CURL="/usr/bin/curl"
|
||||
HOMEBREW_PROCESSOR="$(uname -p)"
|
||||
if [[ -n "$HOMEBREW_OSX" ]]
|
||||
then
|
||||
HOMEBREW_PRODUCT="Homebrew"
|
||||
HOMEBREW_SYSTEM="Macintosh"
|
||||
# This is i386 even on x86_64 machines
|
||||
[[ "$HOMEBREW_PROCESSOR" = "i386" ]] && HOMEBREW_PROCESSOR="Intel"
|
||||
HOMEBREW_OSX_VERSION="$(/usr/bin/sw_vers -productVersion)"
|
||||
HOMEBREW_OS_VERSION="Mac OS X $HOMEBREW_OSX_VERSION"
|
||||
|
||||
HOMEBREW_OSX_VERSION_NUMERIC="$(printf "%02d%02d%02d" $(echo "${HOMEBREW_OSX_VERSION//./ }"))"
|
||||
if [[ "$HOMEBREW_OSX_VERSION_NUMERIC" -lt "100900" &&
|
||||
-x "$HOMEBREW_PREFIX/opt/curl/bin/curl" ]]
|
||||
then
|
||||
HOMEBREW_CURL="$HOMEBREW_PREFIX/opt/curl/bin/curl"
|
||||
fi
|
||||
else
|
||||
HOMEBREW_PRODUCT="${HOMEBREW_SYSTEM}brew"
|
||||
[[ -n "$HOMEBREW_LINUX" ]] && HOMEBREW_OS_VERSION="$(lsb_release -sd 2>/dev/null)"
|
||||
HOMEBREW_OS_VERSION="${HOMEBREW_PRODUCT:=$(uname -r)}"
|
||||
fi
|
||||
HOMEBREW_USER_AGENT="$HOMEBREW_PRODUCT/$HOMEBREW_VERSION ($HOMEBREW_SYSTEM; $HOMEBREW_PROCESSOR $HOMEBREW_OS_VERSION)"
|
||||
HOMEBREW_CURL_VERSION="$("$HOMEBREW_CURL" --version 2>/dev/null | head -n1 | awk '{print $1"/"$2}')"
|
||||
HOMEBREW_USER_AGENT_CURL="$HOMEBREW_USER_AGENT $HOMEBREW_CURL_VERSION"
|
||||
|
||||
# Declared in bin/brew
|
||||
export HOMEBREW_BREW_FILE
|
||||
export HOMEBREW_RUBY_PATH
|
||||
export HOMEBREW_PREFIX
|
||||
export HOMEBREW_REPOSITORY
|
||||
export HOMEBREW_LIBRARY
|
||||
|
||||
# Declared in brew.sh
|
||||
export HOMEBREW_VERSION
|
||||
export HOMEBREW_CELLAR
|
||||
export HOMEBREW_RUBY_PATH
|
||||
export HOMEBREW_CURL
|
||||
export HOMEBREW_OS_VERSION
|
||||
export HOMEBREW_OSX_VERSION
|
||||
export HOMEBREW_USER_AGENT
|
||||
export HOMEBREW_USER_AGENT_CURL
|
||||
|
||||
if [[ -n "$HOMEBREW_OSX" ]]
|
||||
then
|
||||
|
Loading…
x
Reference in New Issue
Block a user