blob: d7b68dd90a3a405962b2b3833c709f5d5d966a5e [file] [log] [blame]
DRC6533b6e2010-02-15 14:57:18 +00001#!/bin/sh
2
3set -u
4
5TMPDIR=
6
7doexit()
8{
9 if [ ! "$TMPDIR" = "" ]; then
10 sudo rm -rf $TMPDIR
11 fi
12 exit $1
13}
14
15usage()
16{
17 echo "$0 <package name> <version> <build> <source dir.>"
18 exit 1
19}
20
21UNIVERSAL=0
22
23if [ $# -lt 4 ]; then usage $0; fi
24PACKAGE_NAME=$1
25VERSION=$2
26BUILD=$3
27SRCDIR=$4
28
29PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
30
31if [ -f $PACKAGE_NAME.dmg ]; then
32 rm -f $PACKAGE_NAME.dmg
33fi
34
35umask 022
36TMPDIR=`mktemp -d /tmp/vglbuild.XXXXXX || doexit -1`
37PKGROOT=$TMPDIR/pkg/Package_Root
38mkdir -p $PKGROOT || doexit -1
39mkdir -p $PKGROOT/opt/$PACKAGE_NAME/bin || doexit -1
40make install prefix=$PKGROOT/opt/$PACKAGE_NAME || doexit -1
41install_name_tool -id /opt/$PACKAGE_NAME/lib/libjpeg.62.dylib $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.62.dylib || doexit -1
42rm -f $PKGROOT/opt/$PACKAGE_NAME/lib/*.la || doexit -1
43mkdir -p $PKGROOT/usr/lib || doexit -1
44mv $PKGROOT/opt/$PACKAGE_NAME/lib/libturbojpeg.* $PKGROOT/usr/lib || doexit -1
45install_name_tool -id libturbojpeg.dylib $PKGROOT/usr/lib/libturbojpeg.dylib || doexit -1
46mkdir -p $PKGROOT/usr/include || doexit -1
47mv $PKGROOT/opt/$PACKAGE_NAME/include/turbojpeg.h $PKGROOT/usr/include || doexit -1
48
49mkdir -p $PKGROOT/Library/Documentation/$PACKAGE_NAME || doexit -1
50chmod 1775 $PKGROOT/Library || doexit -1
51chmod 775 $PKGROOT/Library/Documentation || doexit -1
52mkdir -p $TMPDIR/pkg/Resources || doexit -1
53
54(cat $SRCDIR/release/Description.plist.tmpl | sed s/{__VERSION}/$VERSION/g \
55 | sed s/{__APPNAME}/$PACKAGE_NAME/g \
56 > $TMPDIR/pkg/Description.plist) || doexit -1
57(cat $SRCDIR/release/Info.plist.tmpl | sed s/{__VERSION}/$VERSION/g \
58 | sed s/{__BUILD}/$BUILD/g > $TMPDIR/pkg/Info.plist) || doexit -1
59(cat $SRCDIR/release/uninstall.sh.tmpl \
60 | sed s/{__APPNAME}/$PACKAGE_NAME/g \
61 > $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall) || doexit -1
62chmod 755 $PKGROOT/opt/$PACKAGE_NAME/bin/uninstall
63
64install -m 644 $SRCDIR/LICENSE.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LICENSE.txt || doexit -1
65install -m 644 $SRCDIR/LGPL.txt $PKGROOT/Library/Documentation/$PACKAGE_NAME/LGPL.txt || doexit -1
66
67sudo chown -R root:admin $PKGROOT || doexit -1
68sudo chown -R root:0 $PKGROOT/usr || doexit -1
69cp $SRCDIR/release/License.rtf $SRCDIR/release/Welcome.rtf $SRCDIR/release/ReadMe.rtf $TMPDIR/pkg/Resources/ || doexit -1
70
71mkdir $TMPDIR/dmg
72$PACKAGEMAKER -build -v -p $TMPDIR/dmg/$PACKAGE_NAME.pkg \
73 -f $PKGROOT -r $TMPDIR/pkg/Resources \
74 -i $TMPDIR/pkg/Info.plist -d $TMPDIR/pkg/Description.plist || doexit -1
75install -m 644 $SRCDIR/release/uninstall.applescript $TMPDIR || doexit -1
76sudo osacompile -t APPL -o "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" $TMPDIR/uninstall.applescript || doexit -1
77sudo chown -R $USER "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" || doexit -1
78hdiutil create -fs HFS+ -volname $PACKAGE_NAME-$VERSION \
79 -srcfolder "$TMPDIR/dmg" \
80 $TMPDIR/$PACKAGE_NAME.dmg || doexit -1
81cp $TMPDIR/$PACKAGE_NAME.dmg . || doexit -1
82
83doexit 0