1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:24:42 -07:00
go/misc/osx/package.bash
2012-02-07 14:37:57 +11:00

70 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2011 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
set -e
if ! test -f ../../src/all.bash; then
echo >&2 "package.bash must be run from $GOROOT/misc/osx"
exit 1
fi
echo >&2 "Locating PackageMaker..."
PM=/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
if [ ! -x $PM ]; then
PM=/Developer$PM
if [ ! -x $PM ]; then
echo >&2 "could not find PackageMaker; aborting"
exit 1
fi
fi
echo >&2 " Found: $PM"
BUILD=/tmp/go.build.tmp
ROOT=`hg root`
export GOROOT=$BUILD/root/usr/local/go
export GOROOT_FINAL=/usr/local/go
echo >&2 "Removing old images"
rm -f *.pkg *.dmg
echo >&2 "Preparing temporary directory"
rm -rf $BUILD
mkdir -p $BUILD
trap "rm -rf $BUILD" 0
echo >&2 "Copying go source distribution"
mkdir -p $BUILD/root/usr/local
cp -r $ROOT $GOROOT
cp -r etc $BUILD/root/etc
pushd $GOROOT > /dev/null
echo >&2 "Detecting version..."
pushd src > /dev/null
./make.bash --dist-tool > /dev/null
../bin/tool/dist version > /dev/null
popd > /dev/null
mv VERSION.cache VERSION
VERSION="$(cat VERSION | awk '{ print $1 }')"
echo >&2 " Version: $VERSION"
echo >&2 "Pruning Mercurial metadata"
rm -rf .hg .hgignore .hgtags
echo >&2 "Building Go"
pushd src
./all.bash 2>&1 | sed "s/^/ /" >&2
popd > /dev/null
popd > /dev/null
echo >&2 "Building package"
$PM -v -r $BUILD/root -o "go.darwin.$VERSION.pkg" \
--scripts scripts \
--id com.googlecode.go \
--title Go \
--version "0.1" \
--target "10.5"