mirror of
https://github.com/ankitects/anki.git
synced 2025-11-07 13:17:12 -05:00
Change the method for creating DMG to use some applescript to configure background etc
This commit is contained in:
parent
5d5142a87b
commit
53ec756373
3 changed files with 80 additions and 13 deletions
78
mac/make-dmg.sh
Executable file
78
mac/make-dmg.sh
Executable file
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/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
|
||||||
BIN
mac/set-dmg-settings.scpt
Normal file
BIN
mac/set-dmg-settings.scpt
Normal file
Binary file not shown.
15
mac/setup.py
15
mac/setup.py
|
|
@ -37,19 +37,8 @@ python2.6/pyconfig.h")
|
||||||
chmod a+x dist/Anki.app/Contents/Resources/audio/mplayer")
|
chmod a+x dist/Anki.app/Contents/Resources/audio/mplayer")
|
||||||
if 'debug' in os.environ:
|
if 'debug' in os.environ:
|
||||||
return
|
return
|
||||||
os.system("\
|
# make the dmg with the shell script
|
||||||
ln -s /Applications dist/Applications")
|
result = os.system('ankiqt/mac/make-dmg.sh')
|
||||||
os.system("\
|
|
||||||
mkdir dist/.background")
|
|
||||||
os.system("\
|
|
||||||
cp ankiqt/mac/anki-logo-bg.png dist/.background")
|
|
||||||
os.system("\
|
|
||||||
cp ankiqt/mac/dmg_ds_store dist/.DS_Store")
|
|
||||||
# zlib
|
|
||||||
result = os.spawnvp(os.P_WAIT, 'hdiutil', (
|
|
||||||
'hdiutil create -ov -format UDZO ' +
|
|
||||||
'-volname Anki -srcfolder dist ' +
|
|
||||||
'-o Anki.dmg -imagekey zlib-level=9').split())
|
|
||||||
if result is not 0:
|
if result is not 0:
|
||||||
raise Exception('dmg creation failed %d' % result)
|
raise Exception('dmg creation failed %d' % result)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue