From e23b6af595811d64af04f6f3b91754ab744441d1 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 31 Oct 2003 03:30:36 +0000 Subject: "" svn path=/trunk/; revision=1155 --- externals/grill/build/darwin/mkdmg | 94 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 externals/grill/build/darwin/mkdmg (limited to 'externals/grill/build/darwin/mkdmg') diff --git a/externals/grill/build/darwin/mkdmg b/externals/grill/build/darwin/mkdmg new file mode 100644 index 00000000..c11d1987 --- /dev/null +++ b/externals/grill/build/darwin/mkdmg @@ -0,0 +1,94 @@ +#!/bin/sh +# +# from: http://www.macosxhints.com/article.php?story=20020311215452999 +# +# +# Creates a disk image (dmg) on Mac OS X from the command line +# from a folder. + +FOLDER="$1" +if [ -z "$FOLDER" ]; then +echo +echo "usage: $0 " +echo +exit 1 +fi + +if [ ! -d "$FOLDER" ]; then +echo $FOLDER does not exist +exit 2 +fi + +SIZE=`/usr/bin/du -s "$FOLDER" | awk '{ print $1 }'` +# allow space for partition map and directory structure +SIZE=`echo 1024 + $SIZE \* 1.1 / 1 | bc` +NAME=`basename "$FOLDER"` +FILE=$NAME.dmg +TMP=${TMP:-/tmp} + +if [ $SIZE -lt 9216 ]; then +SIZE=9216 +fi + +if [ -e "$FILE" ] ; then +echo $FILE already exists! +exit 3 +fi + +TMPFILE=$TMP/$$.dmg + +echo Creating $TMPFILE from $FOLDER, $SIZE sectors... +hdiutil create $TMPFILE -sectors $SIZE -ov +if [ $? -ne 0 ] ; then +rm -f $TMPFILE +exit 4 +fi +echo + +DEVICES=`hdid -nomount $TMPFILE` +DEVMASTER=`echo $DEVICES| awk '{ print $1 }'` +DEVHFS=`echo $DEVICES| awk '{ print $5 }'` +echo Creating HFS partition $NAME on $TMPFILE at $DEVHFS +newfs_hfs -v "$NAME" $DEVHFS +if [ $? -ne 0 ] ; then +rm -f $TMPFILE +exit 5 +fi +hdiutil eject $DEVMASTER +if [ $? -ne 0 ] ; then +rm -f $TMPFILE +exit 6 +fi +DEVICES=`hdid $TMPFILE` +if [ $? -ne 0 ] ; then +rm -f $TMPFILE +exit 7 +fi + +DEVMASTER=`echo $DEVICES| awk '{ print $1 }'` +DEVHFS=`echo $DEVICES| awk '{ print $5 }'` +echo Copying $FOLDER to /Volumes/$NAME on $DEVMASTER +sudo ditto -rsrcFork "$FOLDER" "/Volumes/$NAME" +if [ $? -ne 0 ]; then +hdiutil eject $DEVMASTER +rm -f $TMPFILE +exit 8 +fi + +hdiutil eject $DEVMASTER +if [ $? -ne 0 ]; then +#rm -f $TMPFILE +exit 9 +fi + +echo "Compressing $NAME to $FILE" +#hdiutil convert $TMPFILE -format UDZO -o "$FILE" +hdiutil convert $TMPFILE -format UDZO -imagekey zlib-level=9 -o "$FILE" +if [ $? -ne 0 ]; then +rm -f "$FILE" $TMPFILE +exit 10 +fi + +rm -f $TMPFILE + +# end -- cgit v1.2.1