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 | |
Alexandre Lision | 71b4151 | 2016-05-02 13:53:44 -0400 | [diff] [blame] | 5 | REPO_FOLDER=$1 |
| 6 | SPARKLE_FILE=$2 |
| 7 | REPO_URL=$3 |
| 8 | PACKAGE=$4 |
| 9 | DSA_KEY=$5 |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 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 |
Alexandre Lision | 71b4151 | 2016-05-02 13:53:44 -0400 | [diff] [blame] | 17 | ITEMS=$(sed -n "/<item>/,/<\/item>/p" ${REPO_FOLDER}/${SPARKLE_FILE}) |
| 18 | fi |
| 19 | |
| 20 | if [[ `uname` == 'Darwin' ]]; then |
| 21 | PACKAGE_SIZE=`stat -f%z ${PACKAGE}` |
| 22 | DATE_RFC2822=`date "+%a, %d %b %Y %T %z"` |
| 23 | else |
| 24 | PACKAGE_SIZE=`stat -c %s ${PACKAGE}` |
| 25 | DATE_RFC2822=`date -R` |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 26 | fi |
| 27 | |
| 28 | cat << EOFILE > ${REPO_FOLDER}/${SPARKLE_FILE} |
| 29 | <?xml version="1.0" encoding="utf-8"?> |
| 30 | <rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"> |
| 31 | <channel> |
| 32 | <title>Ring - nightly</title> |
| 33 | <link>${REPO_URL}/${SPARKLE_FILE}</link> |
| 34 | <description>Most recent changes with links to updates.</description> |
| 35 | <language>en</language> |
| 36 | <item> |
| 37 | <title>Ring nightly $(date "+%Y/%m/%d %H:%M")</title> |
Alexandre Lision | 71b4151 | 2016-05-02 13:53:44 -0400 | [diff] [blame] | 38 | <pubDate>$DATE_RFC2822</pubDate> |
kkostiuk | c144589 | 2021-04-16 11:15:23 -0400 | [diff] [blame] | 39 | <enclosure url="${REPO_URL}/$(basename ${PACKAGE})" sparkle:version="$(date +%Y%m%d%H)" sparkle:shortVersionString="nightly-$(date "+%Y%m%d")" length="$PACKAGE_SIZE" type="application/octet-stream" sparkle:dsaSignature="$(./sign_update.sh ${PACKAGE} ${DSA_KEY})" /> |
kkostiuk | 723d95d | 2021-04-08 21:35:26 -0400 | [diff] [blame] | 40 | <sparkle:minimumSystemVersion>10.13</sparkle:minimumSystemVersion> |
Alexandre Lision | 3d4143a | 2015-06-10 14:27:49 -0400 | [diff] [blame] | 41 | </item> |
| 42 | $(echo -e "${ITEMS}") |
| 43 | </channel> |
| 44 | </rss> |
| 45 | EOFILE |
| 46 | |