summaryrefslogtreecommitdiff
path: root/tikzit/scripts/prepare_release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/scripts/prepare_release.sh')
-rwxr-xr-xtikzit/scripts/prepare_release.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/tikzit/scripts/prepare_release.sh b/tikzit/scripts/prepare_release.sh
new file mode 100755
index 0000000..dfed6ee
--- /dev/null
+++ b/tikzit/scripts/prepare_release.sh
@@ -0,0 +1,40 @@
+set -o errexit
+
+PROJECT_NAME=TikZiT
+APP_BUNDLE=xbuild/Release/$PROJECT_NAME.app
+
+VERSION=$(defaults read "$(pwd)/$APP_BUNDLE/Contents/Info" CFBundleVersion)
+DOWNLOAD_BASE_URL="http://tikzit.sourceforge.net/appcast"
+RELEASENOTES_URL="$DOWNLOAD_BASE_URL/rnotes.html"
+
+ARCHIVE_FILENAME="$PROJECT_NAME $VERSION.tar.bz2"
+ARCHIVE_PATH="docs/web/appcast/files/$ARCHIVE_FILENAME"
+DOWNLOAD_URL="$DOWNLOAD_BASE_URL/files/$ARCHIVE_FILENAME"
+
+if [ -e "$ARCHIVE_PATH" ]; then
+ echo 'Archive already exists. Either remove this archive or increment version.'
+ exit 1
+fi
+
+tar cjf "$ARCHIVE_PATH" "$APP_BUNDLE"
+
+SIZE=$(stat -f %z "$ARCHIVE_PATH")
+PUBDATE=$(LC_TIME=en_US date +"%a, %d %b %G %T %z")
+SIGNATURE=$(scripts/sign_update.rb "$ARCHIVE_PATH" tikzit_dsa_priv.pem)
+
+cat <<EOF
+ <item>
+ <title>Version $VERSION</title>
+ <sparkle:releaseNotesLink>
+ $RELEASENOTES_URL
+ </sparkle:releaseNotesLink>
+ <pubDate>$PUBDATE</pubDate>
+ <enclosure
+ url="$DOWNLOAD_URL"
+ sparkle:version="$VERSION"
+ type="application/octet-stream"
+ length="$SIZE"
+ sparkle:dsaSignature="$SIGNATURE"
+ />
+ </item>
+EOF