blob: d0dc91bc32b605ec43ece54a894f6df8d6ef9a0c [file] [log] [blame]
Alexandre Lision3d4143a2015-06-10 14:27:49 -04001#!/bin/bash
2
3# Take the package to add as argument ./sparkle-xml-updater.sh ring.dmg
4
5REPO_FOLDER=<dir>
6SPARKLE_FILE=<xml_filename>
7REPO_URL=<url>
8PACKAGE=$1
9DSA_KEY=<path_to_key_file>
10
11if [ ! -f ${PACKAGE} -o ! -f ${DSA_KEY} ]; then
12 echo "Can't find package or dsa key, aborting..."
13 exit 1
14fi
15
16if [ -f ${REPO_FOLDER}/${SPARKLE_FILE} ]; then
17 ITEMS=$(sed -n "/<item>/,/<\/item>/p" ${REPO_FOLDER}/${SPARKLE_FILE})
18fi
19
20cat << EOFILE > ${REPO_FOLDER}/${SPARKLE_FILE}
21<?xml version="1.0" encoding="utf-8"?>
22<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
23 <channel>
24 <title>Ring - nightly</title>
25 <link>${REPO_URL}/${SPARKLE_FILE}</link>
26 <description>Most recent changes with links to updates.</description>
27 <language>en</language>
28 <item>
29 <title>Ring nightly $(date "+%Y/%m/%d %H:%M")</title>
30 <pubDate>$(date -R)</pubDate>
31 <enclosure url="${REPO_URL}/$(basename ${PACKAGE})" sparkle:version="$(date +%Y%m%d%H%M)" sparkle:shortVersionString="nightly-$(date "+%Y%m%d")" length="$(stat -c %s ${PACKAGE})" type="application/octet-stream" sparkle:dsaSignature="$(/opt/joulupukki/mac_keys/sign_update.sh ${PACKAGE} ${DSA_KEY})" />
32 <sparkle:minimumSystemVersion>10.7</sparkle:minimumSystemVersion>
33 </item>
34$(echo -e "${ITEMS}")
35 </channel>
36</rss>
37EOFILE
38