strict OSX packaging, fail on error
authorRobin Gareus <robin@gareus.org>
Mon, 12 Jan 2015 17:57:02 +0000 (18:57 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 12 Jan 2015 17:57:02 +0000 (18:57 +0100)
tools/osx_packaging/osx_build

index 81892ccc463dfbc45af3ab3e184e5997423f91b0..dc959b502046ee604ad0757556fbaf02a6ceee67 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -e
+
 # script for pulling together a MacOSX app bundle.
 
 GTKSTACK_ROOT=$HOME/gtk/inst
@@ -231,6 +233,8 @@ else
 fi
 cp  typeArdour.icns $Resources/
 
+set +e # things below are not error-free (optional files etc) :(
+
 # copy locale files
 if test x$WITH_NLS != x ; then
     echo "NLS support ..."
@@ -607,8 +611,6 @@ else
 fi
 VOLNAME=$APPNAME-$release_version
 
-# TODO use mktemp
-export TMPDIR=`pwd`
 MNTPATH=`mktemp -d -t ardourimg`
 TMPDMG=`mktemp -t ardour`
 ICNSTMP=`mktemp -t ardouricon`
@@ -623,6 +625,8 @@ mkdir -p "$MNTPATH"
 
 TMPDMG="${TMPDMG}.dmg"
 
+trap "rm -rf $MNTPATH $TMPDMG ${TMPDMG}.dmg $ICNSTMP" EXIT
+
 hdiutil create -megabytes $DMGMEGABYTES "$TMPDMG"
 DiskDevice=$(hdid -nomount "$TMPDMG" | grep Apple_HFS | cut -f 1 -d ' ')
 newfs_hfs -v "${VOLNAME}" "${DiskDevice}"
@@ -673,6 +677,7 @@ EOF
 chmod -Rf go-w "${MNTPATH}"
 sync
 
+set -e
 echo "compressing Image ..."
 
 # Umount the image
@@ -680,9 +685,6 @@ umount "${DiskDevice}"
 hdiutil eject "${DiskDevice}"
 # Create a read-only version, use zlib compression
 hdiutil convert -format UDZO "${TMPDMG}" -imagekey zlib-level=9 -o "${UC_DMG}"
-# Delete the temporary files
-rm "$TMPDMG"
-rm -rf "$MNTPATH"
 
 echo "setting file icon ..."