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 echo "Copying contents to ${imgName}:"
40 for i in ${dirName}/* ; do
42 /Developer/Tools/CpMac -r "${i}" ./mountpoint
47 hdiutil eject "${dev}" -quiet
50 echo "Compressing ${imgName} disk image"
51 mv "${imgName}.dmg" "${imgName}.orig.dmg"
52 hdiutil convert "${imgName}.orig.dmg" -format UDZO -o "${imgName}" -quiet
53 rm "${imgName}.orig.dmg"
56 echo; echo "Disk image creation completed:"
57 ls -la "${imgName}.dmg"; echo