comparison deploy/osx/deploy.sh @ 1077:bd3728701e1e

Deployment fixes. Qt on OSX now seems to depend on QtDBus, so copy that in, and also fail if anything is found to depend on an absent Qt framework.
author Chris Cannam
date Fri, 23 Oct 2015 08:44:37 +0100
parents d18c89386a71
children b2c45b831ea8
comparison
equal deleted inserted replaced
1075:94253fa11318 1077:bd3728701e1e
1 #!/bin/bash 1 #!/bin/bash
2
3 set -e
2 4
3 # Execute this from the top-level directory of the project (the one 5 # Execute this from the top-level directory of the project (the one
4 # that contains the .app bundle). Supply the name of the .app bundle 6 # that contains the .app bundle). Supply the name of the .app bundle
5 # as argument (the target will use $app.app regardless, but we need 7 # as argument (the target will use $app.app regardless, but we need
6 # to know the source) 8 # to know the source)
13 echo " Version number and .dmg will be appended automatically," 15 echo " Version number and .dmg will be appended automatically,"
14 echo " but the .app name must include .app" 16 echo " but the .app name must include .app"
15 exit 2 17 exit 2
16 fi 18 fi
17 app=`basename "$source" .app` 19 app=`basename "$source" .app`
20
21 set -u
18 22
19 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h` 23 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h`
20 case "$version" in 24 case "$version" in
21 [0-9].[0-9]) bundleVersion="$version".0 ;; 25 [0-9].[0-9]) bundleVersion="$version".0 ;;
22 [0-9].[0-9].[0-9]) bundleVersion="$version" ;; 26 [0-9].[0-9].[0-9]) bundleVersion="$version" ;;
32 echo "Fixing up paths." 36 echo "Fixing up paths."
33 37
34 deploy/osx/paths.sh "$app" 38 deploy/osx/paths.sh "$app"
35 39
36 echo 40 echo
41 echo "Copying in qt.conf to set local-only plugin paths."
42 echo "Make sure all necessary Qt plugins are in $source/Contents/plugins/*"
43 echo "You probably want platforms/, accessible/ and imageformats/ subdirectories."
44 cp deploy/osx/qt.conf "$source"/Contents/Resources/qt.conf
45
46 echo
47 echo "Writing version $bundleVersion in to bundle."
48 echo "(This should be a three-part number: major.minor.point)"
49
50 perl -p -e "s/SV_VERSION/$bundleVersion/" deploy/osx/Info.plist \
51 > "$source"/Contents/Info.plist
52
53 echo "Done: check $source/Contents/Info.plist for sanity please"
54
55 echo
37 echo "Making target tree." 56 echo "Making target tree."
38 57
39 volume="$app"-"$version" 58 volume="$app"-"$version"
40 target="$volume"/"$app".app 59 target="$volume"/"$app".app
41 dmg="$dmg"-"$version".dmg 60 dmg="$dmg"-"$version".dmg
46 cp README README.OSC COPYING CHANGELOG "$volume/" 65 cp README README.OSC COPYING CHANGELOG "$volume/"
47 cp -rp "$source" "$target" 66 cp -rp "$source" "$target"
48 67
49 echo "Done" 68 echo "Done"
50 69
51 echo
52 echo "Copying in qt.conf to set local-only plugin paths."
53 echo "Make sure all necessary Qt plugins are in $target/Contents/plugins/*"
54 echo "You probably want platforms/, accessible/ and imageformats/ subdirectories."
55 cp deploy/osx/qt.conf "$target"/Contents/Resources/qt.conf
56
57 echo
58 echo "Writing version $bundleVersion in to bundle."
59 echo "(This should be a three-part number: major.minor.point)"
60
61 perl -p -e "s/SV_VERSION/$bundleVersion/" deploy/osx/Info.plist \
62 > "$target"/Contents/Info.plist
63
64 echo "Done: check $target/Contents/Info.plist for sanity please"
65
66 deploy/osx/sign.sh "$volume" || exit 1 70 deploy/osx/sign.sh "$volume" || exit 1
67 71
68 echo 72 echo
69 echo "Making dmg..." 73 echo "Making dmg..."
70 74