Prefer current CLT package ID

It seems that "com.apple.pkg.CLTools_Base" was only used for one
release. New releases are using "com.apple.pkg.CLTools_Executables"
again.

Fixes Homebrew/homebrew#33063.
This commit is contained in:
Jack Nagel 2014-10-10 13:06:50 -05:00
parent 7b550b9486
commit da56a45025

View File

@ -149,8 +149,7 @@ module OS
STANDALONE_PKG_ID = "com.apple.pkg.DeveloperToolsCLILeo" STANDALONE_PKG_ID = "com.apple.pkg.DeveloperToolsCLILeo"
FROM_XCODE_PKG_ID = "com.apple.pkg.DeveloperToolsCLI" FROM_XCODE_PKG_ID = "com.apple.pkg.DeveloperToolsCLI"
MAVERICKS_PKG_ID = "com.apple.pkg.CLTools_Executables" MAVERICKS_PKG_ID = "com.apple.pkg.CLTools_Executables"
# Used for Yosemite and Mavericks CLT since June 2014. MAVERICKS_NEW_PKG_ID = "com.apple.pkg.CLTools_Base" # obsolete
MAVERICKS_NEW_PKG_ID = "com.apple.pkg.CLTools_Base"
MAVERICKS_PKG_PATH = "/Library/Developer/CommandLineTools" MAVERICKS_PKG_PATH = "/Library/Developer/CommandLineTools"
# Returns true even if outdated tools are installed, e.g. # Returns true even if outdated tools are installed, e.g.
@ -187,7 +186,7 @@ module OS
end end
def detect_version def detect_version
[MAVERICKS_NEW_PKG_ID, MAVERICKS_PKG_ID, STANDALONE_PKG_ID, FROM_XCODE_PKG_ID].find do |id| [MAVERICKS_PKG_ID, MAVERICKS_NEW_PKG_ID, STANDALONE_PKG_ID, FROM_XCODE_PKG_ID].find do |id|
version = MacOS.pkgutil_info(id)[/version: (.+)$/, 1] version = MacOS.pkgutil_info(id)[/version: (.+)$/, 1]
return version if version return version if version
end end