1
0
mirror of https://github.com/golang/go synced 2024-11-23 04:50:06 -07:00
go/misc/dist/darwin/scripts/postinstall
Alexandre Normand bbb51ae3a9 dist: fix postinstall script for Darwin
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
2013-07-15 10:52:38 +10:00

32 lines
870 B
Bash
Executable File

#!/bin/bash
GOROOT=/usr/local/go
echo "Fixing permissions"
cd $GOROOT
find . -exec chmod ugo+r \{\} \;
find bin -exec chmod ugo+rx \{\} \;
find . -type d -exec chmod ugo+rx \{\} \;
chmod o-w .
echo "Installing miscellaneous files:"
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