You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
#!/usr/bin/env bash |
|
# |
|
# Creates a Bitcoin.dmg OSX file from the contrib/BitcoinTemplate.dmg file |
|
# |
|
# Recipe from: http://digital-sushi.org/entry/how-to-create-a-disk-image-installer-for-apple-mac-os-x/ |
|
# |
|
# To make a prettier BitcoinTemplate.dmg: |
|
# + open (mount) BitcoinTemplate.dmg |
|
# + change the file properties, icon positions, background image, etc |
|
# + eject, then commit the changed BitcoinTemplate.dmg |
|
# |
|
|
|
CWD=$(pwd) |
|
|
|
if [ $# -lt 1 ]; then |
|
if [ $(basename $CWD) == "contrib" ] |
|
then |
|
TOP=$(dirname $CWD) |
|
else |
|
echo "Usage: $0 /path/to/bitcoin/tree" |
|
exit 1 |
|
fi |
|
else |
|
TOP=$1 |
|
fi |
|
|
|
CONTRIB=$TOP/contrib |
|
BUILD_DIR=/tmp/bitcoin_osx_build |
|
|
|
# First, compile bitcoin and bitcoind |
|
cd "$TOP/src" |
|
if [ ! -e bitcoin ]; then make -f makefile.osx bitcoin; fi |
|
if [ ! -e bitcoind ]; then make -f makefile.osx bitcoind; fi |
|
strip bitcoin bitcoind |
|
|
|
mkdir -p "$BUILD_DIR" |
|
cd "$BUILD_DIR" |
|
|
|
rm -f Bitcoin.sparseimage |
|
hdiutil convert "$CONTRIB/BitcoinTemplate.dmg" -format UDSP -o Bitcoin |
|
hdiutil mount Bitcoin.sparseimage |
|
|
|
# Copy over placeholders in /Volumes/Bitcoin |
|
cp "$TOP/src/bitcoind" /Volumes/Bitcoin/ |
|
cp "$TOP/src/bitcoin" /Volumes/Bitcoin/Bitcoin.app/Contents/MacOS/ |
|
|
|
# Create source code .zip |
|
cd "$TOP" |
|
git archive -o /Volumes/Bitcoin/bitcoin.zip $(git branch 2>/dev/null|grep -e ^* | cut -d ' ' -f 2) |
|
|
|
# Fix permissions |
|
chmod -Rf go-w /Volumes/Bitcoin |
|
|
|
cd "$BUILD_DIR" |
|
hdiutil eject /Volumes/Bitcoin |
|
rm -f "$CWD/Bitcoin.dmg" |
|
hdiutil convert Bitcoin.sparseimage -format UDBZ -o "$CWD/Bitcoin.dmg" |
|
|
|
cd "$CWD" |
|
rm -rf "$BUILD_DIR"
|
|
|