Mercurial > hg > easyhg
view 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 source
#!/bin/bash # Execute this from the top-level directory of the project (the one # 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` case "$version" in [0-9].[0-9]) bundleVersion="$version".0 ;; [0-9].[0-9].[0-9]) bundleVersion="$version" ;; *) echo "Error: Version $version is neither two- nor three-part number" ;; 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 \ > "$target"/Contents/Info.plist echo "Done: check $target/Contents/Info.plist for sanity please" echo echo "Making dmg..." hdiutil create -srcfolder "$volume" "$dmg" -volname "$volume" && rm -r "$volume" echo "Done"