The postinstall script causes the installation to fail because the last
step that copies files for Xcode is broken. Two details can cause the
command to fail:
1. The XCODE_MISC_DIR value has a space. Without quotes in the cp
command, cp will just complain that this is an invalid syntax.
2. The source of the cp is a directory with two subdirectories.
We actually want the files for either Xcode 3 or Xcode 4 to be copied.
Using xcodebuild -version, we check for the Xcode version and
select which of xcode/3/* or xcode/4/* should be the source
of the copy.
Fixes #5874.
R=golang-dev, minux.ma, adg
CC=golang-dev
https://golang.org/cl/
10893044
chmod o-w .
echo "Installing miscellaneous files:"
-XCODE_MISC_DIR="/Library/Application Support/Developer/Shared/Xcode/Specifications/"
-if [ -d "$XCODE_MISC_DIR" ]; then
- echo " XCode"
- cp $GOROOT/misc/xcode/* $XCODE_MISC_DIR
+XCODE_SHARED_DIR="/Library/Application Support/Developer/Shared/Xcode"
+XCODE_MISC_DIR="$XCODE_SHARED_DIR/Specifications/"
+if [ -d "$XCODE_SHARED_DIR" ]; then
+ # Create the XCODE_MISC_DIR if it doesn't exist already
+ mkdir -p "$XCODE_MISC_DIR"
+
+ version=`/usr/bin/xcodebuild -version | sed -n -E 's/^Xcode ([0-9]+)\..*$/\1/p'`
+
+ # Since command line tools are optional with Xcode 4, a failure of the
+ # xcodebuild -version command is interpreted as meaning Xcode 4 is the
+ # version used.
+ if [[ $? -ne 0 ]]; then
+ version=4
+ fi
+
+ echo " Xcode $version"
+ cp $GOROOT/misc/xcode/$version/* "$XCODE_MISC_DIR"
fi