Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # Take the package to add as argument ./sparkle-xml-updater.sh ring.dmg |
| 4 | |
| 5 | REPO_FOLDER=<dir> |
| 6 | SPARKLE_FILE=<xml_filename> |
| 7 | REPO_URL=<url> |
| 8 | PACKAGE=$1 |
| 9 | DSA_KEY=<path_to_key_file> |
| 10 | |
| 11 | if [ ! -f ${PACKAGE} -o ! -f ${DSA_KEY} ]; then |
| 12 | echo "Can't find package or dsa key, aborting..." |
| 13 | exit 1 |
| 14 | fi |
| 15 | |
| 16 | if [ -f ${REPO_FOLDER}/${SPARKLE_FILE} ]; then |
| 17 | ITEMS=$(sed -n "/<item>/,/<\/item>/p" ${REPO_FOLDER}/${SPARKLE_FILE}) |
| 18 | fi |
| 19 | |
| 20 | cat << 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> |
| 37 | EOFILE |
| 38 | |