annotate deploy/osx/deploy.sh @ 1108:2868231474fb spectrogram-minor-refactor

Rearrange cache update calculations so as to use the actual painted width returned by paint functions (though they only ever return the same width as requested, at this point)
author Chris Cannam
date Mon, 25 Jan 2016 15:52:26 +0000
parents b2c45b831ea8
children 1e63105fc82d
rev   line source
Chris@409 1 #!/bin/bash
Chris@409 2
Chris@1077 3 set -e
Chris@1077 4
Chris@409 5 # Execute this from the top-level directory of the project (the one
Chris@409 6 # that contains the .app bundle). Supply the name of the .app bundle
Chris@409 7 # as argument (the target will use $app.app regardless, but we need
Chris@409 8 # to know the source)
Chris@409 9
Chris@409 10 source="$1"
Chris@409 11 dmg="$2"
Chris@409 12 if [ -z "$source" ] || [ ! -d "$source" ] || [ -z "$dmg" ]; then
Chris@409 13 echo "Usage: $0 <source.app> <target-dmg-basename>"
Chris@463 14 echo " e.g. $0 MyApplication.app MyApplication"
Chris@463 15 echo " Version number and .dmg will be appended automatically,"
Chris@463 16 echo " but the .app name must include .app"
Chris@409 17 exit 2
Chris@409 18 fi
Chris@409 19 app=`basename "$source" .app`
Chris@409 20
Chris@1077 21 set -u
Chris@1077 22
Chris@409 23 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h`
Chris@1055 24 stem=${version%%-*}
Chris@1055 25 case "$stem" in
Chris@409 26 [0-9].[0-9]) bundleVersion="$version".0 ;;
Chris@409 27 [0-9].[0-9].[0-9]) bundleVersion="$version" ;;
Chris@1055 28 *) echo "Error: Version stem $stem (of version $version) is neither two- nor three-part number" ;;
Chris@409 29 esac
Chris@409 30
Chris@409 31 echo
Chris@745 32 echo "Copying in frameworks and plugins from Qt installation directory."
Chris@745 33
Chris@745 34 deploy/osx/copy-qt.sh "$app" || exit 2
Chris@745 35
Chris@745 36 echo
Chris@514 37 echo "Fixing up paths."
Chris@514 38
Chris@514 39 deploy/osx/paths.sh "$app"
Chris@514 40
Chris@514 41 echo
Chris@1077 42 echo "Copying in qt.conf to set local-only plugin paths."
Chris@1077 43 echo "Make sure all necessary Qt plugins are in $source/Contents/plugins/*"
Chris@1077 44 echo "You probably want platforms/, accessible/ and imageformats/ subdirectories."
Chris@1077 45 cp deploy/osx/qt.conf "$source"/Contents/Resources/qt.conf
Chris@1077 46
Chris@1077 47 echo
Chris@1077 48 echo "Writing version $bundleVersion in to bundle."
Chris@1077 49 echo "(This should be a three-part number: major.minor.point)"
Chris@1077 50
Chris@1077 51 perl -p -e "s/SV_VERSION/$bundleVersion/" deploy/osx/Info.plist \
Chris@1077 52 > "$source"/Contents/Info.plist
Chris@1077 53
Chris@1077 54 echo "Done: check $source/Contents/Info.plist for sanity please"
Chris@1077 55
Chris@1077 56 echo
Chris@409 57 echo "Making target tree."
Chris@409 58
Chris@409 59 volume="$app"-"$version"
Chris@409 60 target="$volume"/"$app".app
Chris@409 61 dmg="$dmg"-"$version".dmg
Chris@409 62
Chris@409 63 mkdir "$volume" || exit 1
Chris@409 64
Chris@409 65 ln -s /Applications "$volume"/Applications
Chris@412 66 cp README README.OSC COPYING CHANGELOG "$volume/"
Chris@409 67 cp -rp "$source" "$target"
Chris@409 68
Chris@409 69 echo "Done"
Chris@409 70
Chris@510 71 deploy/osx/sign.sh "$volume" || exit 1
Chris@510 72
Chris@409 73 echo
Chris@409 74 echo "Making dmg..."
Chris@409 75
Chris@409 76 hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" &&
Chris@409 77 rm -r "$volume"
Chris@409 78
Chris@409 79 echo "Done"