3 # Posted to the projectbuilder-users list by Mike Ferris
4 # Modified for vlc by Jon Lech Johansen
9 # Requires at least three args
10 if [ $# -lt 2 ] ; then
11 echo "usage: $0 imgName dirName ..." 1>&2
21 imgSize=`du -sk ${dirName} | cut -f1`
22 imgSize=$((${imgSize} / 1024 + 2))
24 if [ $((${imgSize} < 5)) != 0 ] ; then
28 # Create the image and format it
29 rm -f "${imgName}.dmg"
30 echo; echo "Creating ${imgSize} MB disk image named ${imgName}"
31 hdiutil create "${imgName}.dmg" -megabytes "${imgSize}" -layout NONE -quiet
32 dev=`hdid -nomount "${imgName}.dmg" | grep '/dev/disk[0-9]*' | cut -d " " -f 1`
33 /sbin/newfs_hfs -w -v "${imgName}" -b 4096 "${dev}" > /dev/null
35 # Mount the image and copy stuff
37 mount -t hfs ${dev} ./mountpoint
39 HOSTMACHINE=`gcc -dumpmachine`
43 CP="/Developer/Tools/CpMac -r"
52 echo "Copying contents to ${imgName}:"
53 for i in ${dirName}/* ; do
55 ${CP} "${i}" ./mountpoint
60 hdiutil eject "${dev}" -quiet
63 echo "Compressing ${imgName} disk image"
64 mv "${imgName}.dmg" "${imgName}.orig.dmg"
65 hdiutil convert "${imgName}.orig.dmg" -format UDZO -o "${imgName}" -quiet
66 rm "${imgName}.orig.dmg"
69 echo; echo "Disk image creation completed:"
70 ls -la "${imgName}.dmg"; echo