mirror of
https://github.com/golang/go
synced 2024-11-21 22:34:48 -07:00
misc/dist: new hierarchy for binary distribution packaging scripts
R=golang-dev, rsc, bradfitz CC=golang-dev https://golang.org/cl/5639063
This commit is contained in:
parent
d082e5976e
commit
fedc277013
4
misc/dist/README
vendored
Normal file
4
misc/dist/README
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
This directory contains the binary distribution packaging scripts for the
|
||||
supported GOOSes.
|
||||
|
||||
To build a package, run $GOOS/dist.bash.
|
3
misc/dist/darwin/README
vendored
Normal file
3
misc/dist/darwin/README
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
Use dist.bash to construct a package file (Go.pkg) for installation on OS X.
|
||||
|
||||
This script depends on PackageMaker (Developer Tools).
|
69
misc/dist/darwin/dist.bash
vendored
Executable file
69
misc/dist/darwin/dist.bash
vendored
Executable file
@ -0,0 +1,69 @@
|
||||
#!/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 "dist.bash must be run from $GOROOT/misc/dist/darwin"
|
||||
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"
|
1
misc/dist/darwin/etc/paths.d/go
vendored
Normal file
1
misc/dist/darwin/etc/paths.d/go
vendored
Normal file
@ -0,0 +1 @@
|
||||
/usr/local/go/bin
|
23
misc/dist/darwin/scripts/postinstall
vendored
Normal file
23
misc/dist/darwin/scripts/postinstall
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
#!/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 "Fixing debuggers via sudo.bash"
|
||||
# setgrp procmod the debuggers (sudo.bash)
|
||||
cd $GOROOT/src
|
||||
./sudo.bash
|
||||
|
||||
echo "Installing miscellaneous files:"
|
||||
XCODE_MISC_DIR="/Library/Application Support/Developer/Shared/Xcode/Specifications/"
|
||||
if [ -f $XCODE_MISC_DIR ]; then
|
||||
echo " XCode"
|
||||
cp $GOROOT/misc/xcode/* $XCODE_MISC_DIR
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user