1#!/bin/sh 2# 3# This script makes a Apple Mac OS X dmg from the PETSc framework and docset, see ./makeall 4# 5# Make sure that "Enable access for assistive devices" is checked in System Preferences>>Universal Access. It is required for the AppleScript to work. 6# 7echo "Creating ${PETSC_DIR}/${PETSC_ARCH}/PETSc.dmg from ${PETSC_DIR}/${PETSC_ARCH}/PETSc.framework and ${PETSC_DIR}/${PETSC_ARCH}/PETSc.docset" 8rm -rf pack.temp.dmg tempsource ${PETSC_DIR}/${PETSC_ARCH}/PETSc.dmg 9mkdir tempsource 10cp -r ${PETSC_DIR}/${PETSC_ARCH}/PETSc.framework ${PETSC_DIR}/${PETSC_ARCH}/PETSc.docset ${PETSC_DIR}/systems/Apple/OSX/examples tempsource 11cp ${PETSC_DIR}/src/snes/examples/tutorials/ex19.c tempsource/PETSc\ command\ line\ example/examples/PETSc\ command\ line\ example 12cp ${PETSC_DIR}/src/snes/examples/tutorials/ex19.c tempsource/PETSc\ cocoa\ example/examples/PETSc\ cocoa\ example 13 14let size=`du -c tempsource | tail -1 | cut -f1` 15let size=2*$size 16 17hdiutil create -srcfolder tempsource -volname PETSc -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${size}k pack.temp.dmg 18sleep 5 19device=`hdiutil attach -readwrite -noverify -noautoopen "pack.temp.dmg" | head -1 | cut -f1` 20echo Created device $device 21sleep 5 22echo ' 23 tell application "Finder" 24 tell disk "PETSc" 25 open 26 set current view of container window to icon view 27 set toolbar visible of container window to false 28 set statusbar visible of container window to false 29 make new alias file at container window to POSIX file "/Library/Frameworks" with properties {name:"Copy in PETSc.frameworks"} 30 make new alias file at container window to POSIX file "/Applications/Xcode.app/Contents/Developer/Documentation/DocSets" with properties {name:"Copy in PETSc.docset"} 31 make new alias file at container window to POSIX file "/Users/barrysmith/" with properties {name:"Copy in examples"} 32 eject 33 end tell 34 end tell 35' | osascript 36sleep 8 37sync 38sync 39echo 'Completed osascript' 40#hdiutil detach ${device} 41hdiutil convert "pack.temp.dmg" -format UDZO -imagekey zlib-level=9 -o ${PETSC_DIR}/${PETSC_ARCH}/PETSc.dmg 42rm -rf pack.temp.dmg tempsource 43sync 44sleep 2 45hdiutil detach /Volumes/PETSc 46 47# set the bounds of container window to {400, 100, 885, 630} 48# set theViewOptions to the icon view options of container window 49# set icon size of theViewOptions to 72 50# set arrangement of theViewOptions to not arranged 51