Anki/mac/make-dmg.sh
2010-04-21 13:02:47 +09:00

78 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
# Makes the DMG with all the nice things already setup.
# Most of the Finder window twiddling is done by an applescript, this just does
# the DMG manipulations.
# This script should be run with the working directory as the top level (where
# the dist folder appears)
if [ ! -d "dist" ]
then
echo "This must be run in the same directory as 'dist'."
exit 1
fi
if [ -d "/Volues/Anki" ]
then
echo "You already have one Anki mounted, unmount it first!"
exit 1
fi
echo --- Configuring 'dist' folder...
if [ ! -e "dist/Applications" ]
then
ln -s /Applications dist/Applications
fi
if [ ! -d "dist/.background" ]
then
mkdir dist/.background
cp ankiqt/mac/anki-logo-bg.png dist/.background
fi
if [ ! -f "dist/.DS_Store" ]
then
cp ankiqt/mac/dmg_ds_store dist/.DS_Store
fi
echo --- Creating writable DMG...
hdiutil create -attach -ov -format UDRW -volname Anki -srcfolder dist -o Anki-rw.dmg
RESULT=$?
if [ $RESULT != 0 ]
then
echo "Creating RW DMG failed! ($RESULT)"
exit 1
fi
echo --- Running applescript to configure view settings...
osascript "ankiqt/mac/set-dmg-settings.scpt"
echo --- Unmounting and converting to RO DMG...
hdiutil detach "/Volumes/Anki"
if [ -d "/Volumes/Anki" ]
then
echo "+++ Waiting for drive to detach..."
sleep 5
hdiutil detach "/Volumes/Anki"
fi
if [ -d "/Volumes/Anki" ]
then
echo "!!! Warning: Drive didn't detach cleanly forcing it to detach.."
sleep 5
hdiutil detach -force "/Volumes/Anki"
fi
echo --- Making final compressed DMG...
hdiutil convert "Anki-rw.dmg" -ov -format UDZO -imagekey zlib-level=9 -o Anki.dmg
RESULT=$?
rm Anki-rw.dmg
exit $RESULT