]> git.sesse.net Git - vlc/blob - extras/MacOSX/macosx-dmg
* src/libvlc.h: Added a "snapshot-format" option to be able to select png or jpg...
[vlc] / extras / MacOSX / macosx-dmg
1 #!/bin/sh
2 #
3 # Posted to the projectbuilder-users list by Mike Ferris
4 # Modified for vlc by Jon Lech Johansen
5 #
6
7 set -e
8
9 # Requires at least three args
10 if [ $# -lt 2 ] ; then
11     echo "usage: $0 imgName dirName ..." 1>&2
12     exit 1
13 fi
14
15 # Grab size and name
16 imgName=$1
17 shift
18 dirName=$1
19 shift
20
21 imgSize=`du -sk ${dirName} | cut -f1`
22 imgSize=$((${imgSize} / 1024 + 2))
23
24 if [ $((${imgSize} < 5)) != 0 ] ; then
25     imgSize=5;
26 fi
27
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
34
35 # Mount the image and copy stuff
36 mkdir ./mountpoint
37 mount -t hfs ${dev} ./mountpoint
38
39 echo "Copying contents to ${imgName}:"
40 for i in ${dirName}/* ; do
41     echo "  ${i}"
42     /Developer/Tools/CpMac -r "${i}" ./mountpoint
43 done
44
45 umount ./mountpoint
46 rmdir ./mountpoint
47 hdiutil eject "${dev}" -quiet
48
49 # Compress the image
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"
54
55 # Done
56 echo; echo "Disk image creation completed:"
57 ls -la "${imgName}.dmg"; echo