diff deploy/osx/deploy.sh @ 366:ce4d06d87a39

Update deployment to handle the even more complicated situation in which we have to produce separate binaries for python 2.5 and 2.6-based systems (because we can't determine which extension to load otherwise, and they aren't compatible)
author Chris Cannam
date Wed, 23 Mar 2011 14:49:43 +0000
parents aa852b477e4d
children 2d3f1e5d8638
line wrap: on
line diff
--- a/deploy/osx/deploy.sh	Thu Mar 17 17:48:39 2011 +0000
+++ b/deploy/osx/deploy.sh	Wed Mar 23 14:49:43 2011 +0000
@@ -1,8 +1,16 @@
 #!/bin/bash
 
 # Execute this from the top-level directory of the project (the one
-# that contains the .app bundle).
+# that contains the .app bundle).  Supply the name of the .app bundle
+# as argument (the target will use $app.app regardless, but we need
+# to know the source)
 
+source="$1"
+dmg="$2"
+if [ -z "$source" ] || [ ! -d "$source" ] || [ -z "$dmg" ]; then
+	echo "Usage: $0 <source.app> <target-dmg-basename>"
+	exit 2
+fi
 app=EasyMercurial
 
 version=`perl -p -e 's/^[^"]*"([^"]*)".*$/$1/' version.h`
@@ -13,23 +21,31 @@
 esac
 
 echo
+echo "Making target tree."
+
+volume="$app"-"$version"
+target="$volume"/"$app".app
+dmg="$dmg"-"$version".dmg
+
+mkdir "$volume" || exit 1
+
+ln -s /Applications "$volume"/Applications
+cp -rp "$source" "$target"
+
+echo "Done"
+
 echo "Writing version $bundleVersion in to bundle."
 echo "(This should be a three-part number: major.minor.point)"
 
 perl -p -e "s/EASYHG_VERSION/$bundleVersion/" deploy/osx/Info.plist \
-    > "$app".app/Contents/Info.plist
+    > "$target"/Contents/Info.plist
 
-echo "Done: check $app.app/Contents/Info.plist for sanity please"
-
-bash deploy/osx/paths.sh "$app"
+echo "Done: check $target/Contents/Info.plist for sanity please"
 
 echo
 echo "Making dmg..."
 
-mkdir "$app"-"$version" &&
-	ln -s /Applications "$app"-"$version"/Applications &&
-	cp -rp "$app".app "$app"-"$version"/ &&
-	hdiutil create -srcfolder "$app"-"$version" "$app"-"$version".dmg -volname "$app"-"$version" && 
-	rm -r "$app"-"$version"
+hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" && 
+	rm -r "$volume"
 
 echo "Done"